[Excel VBA] Soucis de Boucle !!

Résolu
LeDénicheur Messages postés 624 Statut Membre -  
lami20j Messages postés 21506 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...
Configuration: Windows XP Internet Explorer 6.0

5 réponses

  1. LeDénicheur Messages postés 624 Statut Membre 366
     
    Ma question est surtout, "Comment renvoyer à une certaine ligne du code ? à une certaine étape ?"
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    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
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    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


    0
  4. LeDénicheur Messages postés 624 Statut Membre 366
     
    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 =)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LeDénicheur Messages postés 624 Statut Membre 366
     
    Et pour répondre à Lami20j, c'est ce que j'ai fais finalement ^^ mais j'voulais quand même une réponse à ma question, vu que ça pourra me servir ultérieurement
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      Ben, la réponse est GoTo.
      0