VBA boucle 2 variables

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

N

nono75

Guest
Bonjour,

J'ai une macro qui me donne des résultats très loin de ce que j'attends.
J'ai 2 fichiers, un extract de 9 colonnes et 20 lignes. Ces 20 lignes sont présentes dans un autre fichier de 60 colonnes et 140000 lignes. (Pour mes tests, j'ai copié le fichier en feuille3)
Je recherche à partir de la colone 1 de la feuille 2, les lignes qui auront une valeur identique pour les colonnes 3,7 et 9 mais une valeur différente en colonne 1 sur la feuille3.
Et coller le résultat à la suite de mon existant sur la feuille extract.


Dim K As Long, J As Long
Dim FL1 As Worksheet
Dim FL2 As Worksheet
Set FL1 = Sheets("Feuil2")
Set FL2 = Sheets("Feuil3")
Application.EnableEvents = False
Application.ScreenUpdating = False

For K = 2 To FL1.Range("A65536").End(xlUp).Row
For J = 2 To FL2.Range("A65536").End(xlUp).Row
If FL1.Cells(K, 1) <> FL2.Cells(J, 1) And FL1.Cells(K, 3) = FL2.Cells(J, 3) And FL1.Cells(K, 7) = FL2.Cells(J, 7) And FL1.Cells(K, 9) = FL2.Cells(J, 9) Then
FL2.Cells(J, 1).Resize(, 9).Copy FL1.Cells(65535, 1).End(xlUp)(2)
Exit For
End If
Next J
Next K
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

J'ai fait le traitement manuellement par des recherchev et j'arrive à 17 nouvelles lignes.
Via cette macro, j'ai 10 lignes et seulement 6 correspondantes à mes critères.... Les 4 autres sont les lignes identiques à mon extract alors que j'avais indiqué la condition FL1.Cells(K, 1) <> FL2.Cells(J, 1)
Bref, je patauge...

Merci pour votre aide!
 
Re : VBA boucle 2 variables

Salut Nono
petit essai avec des tables et sommeprod
ps: les macro test et test1 ne fonctionnent pas.. mais je les laisse pour l'idée..;-)
de ta feuille1, j'ai fait le tableau1
de ta feuille 2, tableau2

comme je crois que j'ai modifié ton fichier d'origine, je ne sais pas si il y a le compte de lignes copîées
 

Pièces jointes

Re : VBA boucle 2 variables

correction:
le précédent copiait des lignes déjà existantes...manquait un test
la;. ca devrait aller mieux
à essayer
 

Pièces jointes

Re : VBA boucle 2 variables

Hello

Merci beaucoup pour ton travail. Et d'avoir laissé tes "brouillons", ça m'aide à comprendre ton raisonnement.
Lorsque je lance la macro, je n'ai que 4 lignes copiées. Il devrait y en avoir plus.
Si j'inverse les feuilles par contre, le résultat me semble correct.
On avance!

Merci, joyeuses fêtes
 
- 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

Réponses
4
Affichages
730
Réponses
5
Affichages
909
Réponses
15
Affichages
779
Réponses
8
Affichages
778
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
450
Retour