VBA - Boucle avec for - Elle s’arrête à la ligne 15...... pourquoi?

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

adumaine

XLDnaute Nouveau
Bonjour à tous,

Je viens vers vous car j'ai un problème avec une boucle de recherche. (elle s’arrête à la ligne 15... )

Le but est de comparer 3 éléments de 2 feuilles excell.
Une fois les 3 conditions ok => Copier certaines cellules du fichier 1 dans le fichier B

Le code:
ub Bouton2_Clic()

'variables lignes correspondantes
Dim ISuividebut As Integer
Dim ISuivifin As Integer
Dim IZQSCdebut As Integer
Dim IZQSCfin As Integer

'Sheets("SUIVI_FAI_A350-1000").Unprotect

'Activation feuille SUIVI_FAI_A350-1000
Worksheets("SUIVI_FAI_A350-1000").Activate

'recherche dernière line de l'extract SUIVI_FAI_A350-1000
ISuivifin = Worksheets("SUIVI_FAI_A350-1000").Range("A3").End(xlDown).Row

'Activation feuille MAJ_ZQSC
Worksheets("MAJ_ZQSC").Activate

'recherche dernière line de l'extract MAJ_ZQSC
IZQSCfin = Worksheets("MAJ_ZQSC").Range("A2").End(xlDown).Row

'boucle de recherche
For ISuividebut = 3 To ISuivifin
For IZQSCdebut = 2 To IZQSCfin

'Recherche du PN suivi dans ZQSC
If Worksheets("SUIVI_FAI_A350-1000").Range("A" & ISuividebut) = Worksheets("MAJ_ZQSC").Range("A" & IZQSCdebut) Then

'Recherche de l'indice suivi dans ZQSC
ElseIf Worksheets("SUIVI_FAI_A350-1000").Range("C" & ISuividebut) = Worksheets("MAJ_ZQSC").Range("G" & IZQSCdebut) Then

'Recherche DU FOURNISSEUR suivi dans ZQSC
ElseIf Worksheets("SUIVI_FAI_A350-1000").Range("M" & ISuividebut) = Worksheets("MAJ_ZQSC").Range("D" & IZQSCdebut) Then

'Si vrai ecriture des infos
Worksheets("SUIVI_FAI_A350-1000").Range("N" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("B" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("E" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("H" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("O" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("F" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("F" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("I" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("G" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("J" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("L" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("K" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("AI" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("M" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("D" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("R" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("P" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("S" & IZQSCdebut).Value

Exit For

'Next IZQSCdebut
'End If
'Else
'Next IZQSCdebut
'End If
'Else
'Next
End If
Next IZQSCdebut
Next
End Sub


En espérant que vous puissiez m'aider..
Je reste disponible pour toutes vos interrogations
Cordialement
adumaine
 
Re : VBA - Boucle avec for - Elle s’arrête à la ligne 15...... pourquoi?

Bonjour ,

Sans le fichier , pas certain,

Mais cela ne correspondrait pas à une info vide dans la colonne A de cette ligne 16 je crois :

Ici l'équation qui donne la dernière ligne , en fait la premiere ligne vide de la colonne A

'recherche dernière line de l'extract MAJ_ZQSC
IZQSCfin = Worksheets("MAJ_ZQSC").Range("A2").End(xlDown).Row
 
Re : VBA - Boucle avec for - Elle s’arrête à la ligne 15...... pourquoi?

Bonjour à tous,

Peut-être ceci :
'recherche dernière line de l'extract SUIVI_FAI_A350-1000
ISuivifin = Worksheets("SUIVI_FAI_A350-1000").Range("A3").End(xlUp).Row

et

'recherche dernière line de l'extract MAJ_ZQSC
IZQSCfin = Worksheets("MAJ_ZQSC").Range("A2").End(xlUp).Row


bonne journée
 
Re : VBA - Boucle avec for - Elle s’arrête à la ligne 15...... pourquoi?

Merci à tous les 2 pour vos retours très rapide.

camarchepas ==> La colonne A des 2 feuilles est tjrs renseigné.
JBARBE => Je test est reviens vers vous.

Merci
Anthonyd
 
Re : VBA - Boucle avec for - Elle s’arrête à la ligne 15...... pourquoi?

et la modification devrait plutot être :

ISuivifin = Worksheets("SUIVI_FAI_A350-1000").Range("A" & rows.count).End(xlUp).Row

et

'recherche dernière line de l'extract MAJ_ZQSC
IZQSCfin = Worksheets("MAJ_ZQSC").Range("A" & rows.count).End(xlUp).Row
 
Re : VBA - Boucle avec for - Elle s’arrête à la ligne 15...... pourquoi?

Ca fonctionne !!
Merci pour votre aide!!


sub Bouton2_Clic()

'variables lignes correspondantes
Dim ISuividebut As Integer
Dim ISuivifin As Integer
Dim IZQSCdebut As Integer
Dim IZQSCfin As Integer

'Sheets("SUIVI_FAI_A350-1000").Unprotect

'Activation feuille SUIVI_FAI_A350-1000
Worksheets("SUIVI_FAI_A350-1000").Activate

'recherche dernière line de l'extract SUIVI_FAI_A350-1000
ISuivifin = Worksheets("SUIVI_FAI_A350-1000").Range("A3").End(xlDown).Row

'Activation feuille MAJ_ZQSC
Worksheets("MAJ_ZQSC").Activate

'recherche dernière line de l'extract MAJ_ZQSC
IZQSCfin = Worksheets("MAJ_ZQSC").Range("A2").End(xlDown).Row

'boucle de recherche
For ISuividebut = 3 To ISuivifin
For IZQSCdebut = 2 To IZQSCfin

'Recherche du PN suivi dans ZQSC
If Worksheets("SUIVI_FAI_A350-1000").Range("A" & ISuividebut) = Worksheets("MAJ_ZQSC").Range("A" & IZQSCdebut) Then

'Recherche de l'indice suivi dans ZQSC
if Worksheets("SUIVI_FAI_A350-1000").Range("C" & ISuividebut) = Worksheets("MAJ_ZQSC").Range("G" & IZQSCdebut) Then

'Recherche DU FOURNISSEUR suivi dans ZQSC
If Worksheets("SUIVI_FAI_A350-1000").Range("M" & ISuividebut) = Worksheets("MAJ_ZQSC").Range("D" & IZQSCdebut) Then

'Si vrai ecriture des infos
Worksheets("SUIVI_FAI_A350-1000").Range("N" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("B" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("E" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("H" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("O" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("F" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("F" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("I" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("G" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("J" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("L" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("K" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("AI" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("M" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("D" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("R" & IZQSCdebut).Value
Worksheets("SUIVI_FAI_A350-1000").Range("P" & ISuividebut).Value = Worksheets("MAJ_ZQSC").Range("S" & IZQSCdebut).Value

exit for
end if
end if
endif

Next IZQSCdebut
Next ISuividebut
End Sub


Bonne journée
Anthonyd
 
- 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
4
Affichages
177
Réponses
4
Affichages
461
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Retour