pb de sortie de boucle

  • Initiateur de la discussion Initiateur de la discussion jf27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jf27

XLDnaute Occasionnel
salut à tous

dans le script suivant, comment sortir du for j=1 to 25 quand la condition if est remplie, sans balayer les J restant dans la boucle ?

En fait j'ai une feuille A avec des noms de colonnes en ligne 1
Je recherche dans une feuille B, le même nom de colonne en ligne 4 et dans ce cas je recopie toute cette colonne dans ma feuille A

J'espère que c clair !
Je pense qu'il y a sûrement moyen de faire plus propre mais il est tard et je n'ai plus les yeux en face des trous (et ca fait 10 ans que je n'ai pas fait de boucles !)
Merci d'avance

@+

*******************
For I = 1 To 50
For j = 1 To 25
If Cells(1, I) = Sheets("dataforanalysis").Cells(4, j) Then
For k = 2 To 100
Cells(k, I) = Sheets("dataforanalysis").Cells(k + 3, j)
Next k
End If
Next j
Next I
 
Re : pb de sortie de boucle

Bonjour

Une solution à tester et à éviter : positionner la variable j à 25.

En positionnant un variable (fin) booléenne à true et dans la boucle j la tester

If fin = true then exit for


Une autre solution utiliser une boucle do loop
i = 0
Do
i = i +1


if i = 50 exit do
Loop

Dans ce cas on positionne les variables.

JP
 
Dernière édition:
Re : pb de sortie de boucle

Bonsoir,

essaie avec un Exit For :

Code:
Sub ee()
For i = 1 To 50
    For j = 1 To 25
        If Cells(1, i) = Sheets("dataforanalysis").Cells(4, j) Then
            For k = 2 To 100
                Cells(k, i) = Sheets("dataforanalysis").Cells(k + 3, j)
            Next k
            Exit For
        End If
    Next j
Next i
End Sub
 
Re : pb de sortie de boucle

Yes avec le do loop c ok !
Merci
***********************
For I = 1 To 50
j = 1
Do
If Cells(1, I) = Sheets("dataforanalysis").Cells(4, j) Then
For k = 2 To 100
Cells(k, I) = Sheets("dataforanalysis").Cells(k + 3, j)
Next k
Exit Do

Else
j = j + 1
End If
Loop
Next I
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
793
Réponses
8
Affichages
400
Réponses
4
Affichages
284
Réponses
4
Affichages
738
Réponses
5
Affichages
918
Réponses
8
Affichages
792
Réponses
2
Affichages
257
Retour