Bonjour Philippe Tulliez
Il ne souhaite pas quitter la boucle
Le "Continue For" que l'on voyait dans son premier message est en réalité un bout de code VB.Net où une telle instruction :
- ne nécessite pas la clause Else qui figurait dans son code
- passe directement à l'itération suivante de la boucle en ignorant les instructions qui suivent ce Continue For (une espèce de Goto déguisé)
Pour ce qui est maintenant de son nouveau code :
cette partie :
1 2 3 4
| j = 1
While Not IsEmpty(Cells(j, 12))
j = j + 1
Wend |
est maladroite (une boucle à recommencer systématiquement) et serait à remplacer par :
j = range("L" & rows.count).end(xlup).row
encore que : je ne suis pas du tout certain de ce qu'il veuille vraiment mettre ses résultats à la suite les uns des autres en colonne L, quelle que soit la ligne d'occurrence trouvée (à quoi pourraient être utiles des "S" mis en colonne L qui ne seraient pas en regard des "Name" trouvés en colonne C ?)
Et quand bien même ces résultats (ses "S") seraient à mettre réellement à la suite les uns des autres, sa variable j serait à remplacer par un simple compteur incrémenté de 1 unité (une variable statique ferait l'affaire).
Voilà la/les raison(s) pour laquelle/lesquelles je lui demandais de commenter ses lignes de code ou de montrer l'algo qu'il voulait mettre en code. Cela aurait permis d'y voir clair.
Pour le reste : il est certain que (s'il veut utiliser VBA) ses boucles doivent être utilement remplacées par l'utilisation de la méthode Range.Find
Amitiés.
Partager