Macro For i sans Next i
Résolu/Fermé
A voir également:
- Macro For i sans Next i
- I showkeyplus - Télécharger - Utilitaires
- I-nfo.fr - actualités tech - Télécharger - Médias et Actualité
- I trema - Forum Windows
- Ï majuscule - Guide
- Obtenir un i tréma avec clavier allemand ✓ - Forum Bureautique
4 réponses
re bonjour,
si j'ai bien compris dès que qu'on trouve "PARA" tu veux sélectionner de cette ligne jusqu'à la fin du tableau.
rajoute juste la ligne en gras, elle sort de la sub donc ne boucle plus!:
si toutefois tu as du code après la boucle for i... il ne sera pas executé, alors plutôt que Exit Sub, utilise Exit For : on sort juste de la boucle For
Bonne suite
NB=une autre solution aurait été une boucle while
si j'ai bien compris dès que qu'on trouve "PARA" tu veux sélectionner de cette ligne jusqu'à la fin du tableau.
rajoute juste la ligne en gras, elle sort de la sub donc ne boucle plus!:
If Cells(i, 1).Value = Sheets("PARA").Range("F2").Value And Cells(i, 2).Value = Sheets("PARA").Range("E2").Value Then Range("A" & i + 1 & ":L" & [A65536].End(xlUp).Row).Select Exit Sub End If
si toutefois tu as du code après la boucle for i... il ne sera pas executé, alors plutôt que Exit Sub, utilise Exit For : on sort juste de la boucle For
Bonne suite
NB=une autre solution aurait été une boucle while
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
24 mars 2011 à 16:09
24 mars 2011 à 16:09
Bonjour
peut-être en ajoutant Exit for avant End if
peut-être en ajoutant Exit for avant End if
Bonjour,
J'ai adopté la solution Exit Sub car cela ne fonctionnait pas avec Exit for, cela m'oblige faire 2 macro au lieu d'une mais 2 macro qui fonctionne.
Merci à vous !!
Une question Paf, peux tu m'expliquer la logique de ce code (ce que se dit le programme) car je ne comprends pas pourquoi mettre quelque chose après Exit Sub.
Sub test2()
Sheets("ARCHIVE").Select
For i = 5 To 10000
If Cells(i, 1).Value = Sheets("PARA").Range("F2").Value And Cells(i, 2).Value = Sheets("PARA").Range("E2").Value Then
Range("A" & i & ":L" & [A65536].End(xlUp).Row).Clear
Exit Sub
End If
Next i
End Sub
En tout cas merci encore.
J'ai adopté la solution Exit Sub car cela ne fonctionnait pas avec Exit for, cela m'oblige faire 2 macro au lieu d'une mais 2 macro qui fonctionne.
Merci à vous !!
Une question Paf, peux tu m'expliquer la logique de ce code (ce que se dit le programme) car je ne comprends pas pourquoi mettre quelque chose après Exit Sub.
Sub test2()
Sheets("ARCHIVE").Select
For i = 5 To 10000
If Cells(i, 1).Value = Sheets("PARA").Range("F2").Value And Cells(i, 2).Value = Sheets("PARA").Range("E2").Value Then
Range("A" & i & ":L" & [A65536].End(xlUp).Row).Clear
Exit Sub
End If
Next i
End Sub
En tout cas merci encore.
la syntaxe oblige à mettre un end if après un if, un next après un for , un end sub pour cloturer une sub !
ça permet de savoir où s'arrêtent les instruction du if ou du for ( ou de la sub)
m^me si à un moment donné on sort de la sub, la boucle for est executée un certain nombre de fois, jusqu'à ce que le test If ... soit vrai
pas très académique comme explication
bpnne suite
ça permet de savoir où s'arrêtent les instruction du if ou du for ( ou de la sub)
m^me si à un moment donné on sort de la sub, la boucle for est executée un certain nombre de fois, jusqu'à ce que le test If ... soit vrai
pas très académique comme explication
bpnne suite