Bonjour Julien
Je vais essayer de répondre à ta question . Que les puristes m'excusent par avance ..... pour la "lourdeur" de la procédure …ainsi que des explications …
y = Cells(i, 4).Value
le principe de saisie est : Cells (ligne , colonne )
Le 4 correspond donc à la 4eme colonne(D) de la feuille
Le "i" correspond a une variable indiquant le numero de ligne dans la feuille : combiné avec l'instruction FOR de 2 à 5 , cela permet de balayer la plage ("D2
5") ,
z = Cells(i, 100).Address
Le but du fichier "tri" est d'incrémenter les différents fournisseurs d'une reference sur la même ligne . Quand une valeur est trouvée , il faut donc l'inscrire dans le tableau de résultat , dans la première cellule vide à droite des références (A,B,C…)
Pour trouver cette cellule vide :
Toujours sur le principe Cells (ligne , colonne ) , le 100 permet de sélectionner la 100eme colonne de la feuille : le 100 est une valeur choisie au hasard , assez éloignée du tableau de résultat , pour qu'il n'y ai pas de risque que cette colonne contienne une valeur de résultat ,
Ensuite la combinaison avec :
End(xlToLeft)) ( retour sur la gauche jusqu'à trouver la derniere cellule non vide ) et
Offset(0, 1) ( decalage d'une cellule sur la droite)
permet de trouver la cellule vide et d'y inscrire un nom de fournisseur
Cela fait beaucoup d'allers retour pour trouver une cellule vide . Il existe certainement des procédures plus "légères" , mais je ne les connais pas
je ne suis pas sur d'avoir été très clair dans mon explication . n'hésites pas à poser d'autres questions si nécessaire
bonne soirée
Michel