Bonjour,
Je souhaite trier des informations d'une liste de pièces selon des critères contenu dans des cellules différentes.
Exemple : j'ai une pièce de 2300mm et de longueur 110.
Je trouve 2300, puis je trouve 110, et je copie colle la désignation de la pièce dans la colonne qui correspond aux critère 2300+110.
la liste est assez grande et le nombre de critère est aussi important
Donc je pensais chercher dans le nom de la colonne correspondant aux critères (ex : 2300_110), la valeur de la cellule pouvant être 2300 puis la valeur d'une autre cellule pouvant être 110 avec la formule InStr()
Bien sur, tout ça avec des variables
Mais je ne maîtrise pas VBA, alors je pense que je me suis fourvoyé...
Ma macro donne cela :
'
Macro1 Macro
Dim I, J As Integer
'DEBUT DE LA MISE A JOUR DE L'ONGLET LISTE
I = 2
J = 1
While Sheets("DATA").Cells(I, 1).Value <> ""
' RECHERCHE LA CLASSE (M41, CR4, CR5) / DIM / TYPE (PLEIN OU DEC)/ HAUTEUR (2300 OU 2400)
For J = 1 To Sheets(1).Cells(1, Cells.Columns.Count).End(xlToLeft).Column
If InStr(1, Sheets(1).Cells(1, J).Value, Sheets("DATA").Cells(I, 8).Value) = 9 And InStr(1, Sheets(1).Cells(1, J).Value, Sheets("DATA").Cells(I, 4).Value) = 1 And InStr(1, Sheets(1).Cells(1, J).Value, Sheets("DATA").Cells(I, 5).Value) = 4 Then
Sheets("DATA").Cells(I, 1).Select
Selection.Copy
Sheets(1).Select
Cells(65000, J).End(xlUp).Offset(1).Select
ActiveSheet.Paste
End If
Next
'--------------
I = I + 1
Wend
End Sub
Je pense que je me plante avec les déclarations de variables et les . value.
Merci d'avance.