[Excel VBA] Soucis de Boucle !!
Résolu
LeDénicheur
Messages postés
565
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
Je commence déjà par vous exposer mon programme
ref = 11 + nblignes
collage = 18 + (2 * nblignes)
For j = 1 To 3
Sheets("" & ComboBox1.Value & "").Select
i = 1
Do Until IsEmpty(Cells(ref, i))
i = i + 1
Loop
If i < 3
nomcol = Split(Columns(i - 1).Address(0, 0), ":")(0)
nbacop = Application.WorksheetFunction.CountA(Range("" & nomcol & "" & ref + 1 & ":" & nomcol & "" & ref + nblignes + 3 & ""))
Range("" & nomcol & "" & (ref + 1) & ":" & nomcol & "" & nbacop + ref - 1 & "").Select
Selection.Copy
Sheets("Suivi").Select
Range("G" & collage & "").Select
ActiveSheet.Paste
collage = collage + 6 + nblignes
ref = ref + 5 + nblignes
Next j
Application.DisplayAlerts = True
End Sub
Mon soucis est que au niveau du "IF i < 3", j'aimerais que si i remplit cette condition, le programme aille directement à Next j, et ne réalise pas les actions située en dessous...
Une type de code du genre "if i < 3 then Next J" et q'uil reparte sur :
For j = 1 To 3
Sheets("" & ComboBox1.Value & "").Select
i = 1
Do Until IsEmpty(Cells(ref, i))
i = i + 1
Loop
Merci d'avance, Si vous avez des questions...
Je commence déjà par vous exposer mon programme
ref = 11 + nblignes
collage = 18 + (2 * nblignes)
For j = 1 To 3
Sheets("" & ComboBox1.Value & "").Select
i = 1
Do Until IsEmpty(Cells(ref, i))
i = i + 1
Loop
If i < 3
nomcol = Split(Columns(i - 1).Address(0, 0), ":")(0)
nbacop = Application.WorksheetFunction.CountA(Range("" & nomcol & "" & ref + 1 & ":" & nomcol & "" & ref + nblignes + 3 & ""))
Range("" & nomcol & "" & (ref + 1) & ":" & nomcol & "" & nbacop + ref - 1 & "").Select
Selection.Copy
Sheets("Suivi").Select
Range("G" & collage & "").Select
ActiveSheet.Paste
collage = collage + 6 + nblignes
ref = ref + 5 + nblignes
Next j
Application.DisplayAlerts = True
End Sub
Mon soucis est que au niveau du "IF i < 3", j'aimerais que si i remplit cette condition, le programme aille directement à Next j, et ne réalise pas les actions située en dessous...
Une type de code du genre "if i < 3 then Next J" et q'uil reparte sur :
For j = 1 To 3
Sheets("" & ComboBox1.Value & "").Select
i = 1
Do Until IsEmpty(Cells(ref, i))
i = i + 1
Loop
Merci d'avance, Si vous avez des questions...
A voir également:
- [Excel VBA] Soucis de Boucle !!
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
5 réponses
Salut,
Pourquoi ne changer tout simplement la condition?
Pourquoi ne changer tout simplement la condition?
If i >= 3 Then ' ici ton code qui ne s'exécute que si i plus grand ou égal avec 3 ' en ce cas si i < 3 alors j sera incrementé End If Next j
Re,
Sinon tu as le GoTo, voici un extrait depuis l'aide de VBA Excel
Sinon tu as le GoTo, voici un extrait depuis l'aide de VBA Excel
GoTo, instruction, exemple
Cet exemple utilise l'instruction GoTo pour se brancher aux étiquettes de ligne indiquées au sein d'une procédure.
Sub GotoStatementDemo()
Dim Number, MyString
Number = 1 ' Initialise la variable.
' Évalue Number et se branche à l'étiquette
' appropriée.
If Number = 1 Then GoTo Line1 Else GoTo Line2
Line1:
MyString = "Number est égal à 1"
GoTo LastLine ' Passe à la dernière ligne.
Line2:
' L'instruction suivante ne peut jamais être
' exécutée.
MyString = "Number est égal à 2"
LastLine:
Debug.Print MyString ' Affiche "Number est
' égal à 1" dans la fenêtre
' Exécution.
End Sub
Ah d'accord merci, je crois que j'ai pas la même aide que toi ^^, Quand je cherche certains commande, ça me met erreur de chargement de l'aide ou je ne sais quoi, faut que j'reinstalle un truc quand ça m'arrive -_-
Merci ! j'vais lire ça =)
Merci ! j'vais lire ça =)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question