Tu te plains de résultat qui sont l’émergence de ce que tu as codifié même dans les commentaires :
'ligne colonne A = emballage et colonne d = Z600
If Sheets(« ORDO VIERGE »).Cells(i, 2) = « EMBALLAGE » Then
If Sheets(« ORDO VIERGE »).Cells(i, 4) = « Z600 » Then
Range(« A » & j, « E » & j).Value = Sheets(« ORDO VIERGE »).Range(« A » & i, « E » & i).Value
j = j + 1
End If
End if
'ligne colonne A = emballage et colonne d = Z600
Le code a bien fonctionné car c’est ce que tu souhaites remonter EMBALLAGE colonne A associé à Z600 colonne D c’est écrit
Il faut m’expliquer ce qui ne vas pas
Si tu souhaites remonter toutes les données colonne A EMBALLAGE sauf celles qui ont en colonne D la donnée Z600 il faut écrire comme ceci :
'ligne colonne A = emballage et colonne d <> Z600
If Sheets(« ORDO VIERGE »).Cells(i, 2) = « EMBALLAGE » Then
If Sheets(« ORDO VIERGE »).Cells(i, 4) <> « Z600 » Then
Range(« A » & j, « E » & j).Value = Sheets(« ORDO VIERGE »).Range(« A » & i, « E » & i).Value
j = j + 1
End If
End if
Ainsi tu remonteras avec cette partie toutes les données qui en colonne A ont EMBALLAGE et qui n’ont pas en colonne D le paramètre Z600
Parcontre pour être complet puisque cette partie traite les cellules colonne A qui ont la donnée EMBALLAGE d’exclure leur traitement dans la partie suivante sinon elle les fera remonter
Ici :
If Sheets(« ORDO VIERGE »).Cells(i, 2) <> « CUISINE » And Sheets(« ORDO VIERGE »).Cells(i, 2) <> « DOSAGE » Then
Range(« A » & j, « E » & j).Value = Sheets(« ORDO VIERGE »).Range(« A » & i, « E » & i).Value
j = j + 1
End If
et de mettre impérativement comme ceci :
If Sheets(« ORDO VIERGE »).Cells(i, 2) <> « CUISINE » And Sheets(« ORDO VIERGE »).Cells(i, 2) <> « DOSAGE » And Sheets(« ORDO VIERGE »).Cells(i, 2) <> « EMBALLAGE » Then
Range(« A » & j, « E » & j).Value = Sheets(« ORDO VIERGE »).Range(« A » & i, « E » & i).Value
j = j + 1
End If
Il faut que les données colonne A EMBALLAGE ne soient traitées que par la 2° partie et pas par cette dernière partie
Corriges et dis moi