Boucles for each imbriquées

  • Initiateur de la discussion Initiateur de la discussion anna
  • 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 !

A

anna

Guest
Bonjour,
petit problème avec une fonction utilisant 2 Range et qui doit comparer des valeurs entre ces 2 Range. Le pb est que ma fonction ne passe pas au mouv1 suivant, les tests ne sont faits que pour le premier élèment de Plage1 et pour le premier élèment de Plage2
Pouvez-vous aussi m'expliquer la nécessité de metrre les Exit For avant le Next (je ne trouve ça très logique). Merci (car l'aide VB n'est pas installée sur mon poste)

'Pour chaque mouvement de la plage des mvts sélectionnés dans la feuille Mouvements
For Each mouv1 In Plage1
code1 = mouv1.Offset(0, 3)
venac = mouv1.Offset(0, 7)

For Each mouv2 In Plage2
code2 = mouv2.Offset(0, 1)
nb2 = mouv2.Offset(0, 3)
'Si les 2 codes ISIN sont égaux:
If code1 = code2 Then
' on regarde si c'est une vente
If mouv1.Offset(0, 5) = "Vente" Then
'si oui: le nb de parts devient négatif
venac = venac * (-1)
End If
'on affecte le nb de parts du mouvements au nb de parts du nv ptf
nbfinal = nb2 + venac
mouv2.Offset(0, 3) = nbfinal

End If


Exit For
Next mouv2

Exit For
Next mouv1
 
Salut,

La reponse est dans la question

les Exit For te font quitter les boucles For dès la premiere occurrances de celles ci

donc forcement tu passes une fois dans mouv1 et une fois dans mouv2 et c tout
Par contre cela peut etre utile de quitter ta boucle For pour gagner en temps d'execution

Par exemple si tu ne peux avoir 2 fois l'egalité entre le code ISIN de mouv1 et mouv2 tu peux mettre un Exit For apres
mouv2.Offset(0, 3) = nbfinal

sinon Il te faut donc supprimer c 2 petites betes méchantes

@+

Minick
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
1
Affichages
1 K
@+Thierry
@
S
Réponses
2
Affichages
2 K
Stéphane D
S
D
Réponses
2
Affichages
756
D
Retour