Bonjour,
Voici une solution en VBA.
https://www.cjoint.com/c/LEErHzprx5g
Le VBA est documenté mais si explications complémentaires nécessaires, n'hésites pas à me revenir.
Sub Extraction()
'*********************************************************************************
' Procédure pour extraire les cellules non à 0 ou non vides dans une plage C3:E8
'*********************************************************************************
Dim i As Integer 'curseur ligne plage
Dim i2 As Integer 'curseur colonne plage
Dim i3 As Integer 'curseur ligne Extraction
Dim V_Plage(1 To 18) As String 'tableau des Extractions
Dim V_N_EXTR As Integer 'compteur lignes Extractions
V_N_EXTR = 1 'initialisation compteur ligne Extraction
Range(Cells(3, 11), Cells(20, 11)).ClearContents
For i = 1 To 6 'boucle des 6 lignes de la plage
For i2 = 1 To 3 'boucle des 3 colonnes de la plage
If Cells(i + 2, i2 + 2) <> 0 _
And Cells(i + 2, i2 + 2) <> "" Then 'test si cellul <>0
V_Plage(V_N_EXTR) = Cells(i + 2, i2 + 2) 'enregistrement dans tableau
V_N_EXTR = V_N_EXTR + 1 'agrémentation du numéro de ligne
End If
Next i2
Next i
For i3 = 1 To 18 'Ecriture du tableau dans la colonne K
Cells(i3 + 2, 11).Value = V_Plage(i3) 'adapter la colonne en changeant le 11
Next i3
End Sub
Bonne continuation
Chris