XL 2016 RECHERCHEV en macro

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 !

xamenod

XLDnaute Junior
Bonjour le forum,
j'ai réalisé une macro qui ne fonctionne que sur la première ligne.
la boucle ne tourne pas.
Il s'agit de rechercher dans la feuille BA les valeurs correspondante à celles de la feuille BU.
voici la macro

Sub CHERC()
Dim BA As Worksheet
Dim BU As Worksheet
Dim i As Variant

Set MaPlage = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))

For Each i In MaPlage

If Worksheets("BU").Cells(2 + i, 1) = Worksheets("BA").Cells(2 + i, 1) Then

Worksheets("BU").Cells(2 + i, 2) = Worksheets("BA").Cells(2 + i, 2)

End If

Next i

End Sub


Merci pour votre aide
Henry
 

Pièces jointes

Bonjour le forum,
j'ai réalisé une macro qui ne fonctionne que sur la première ligne.
la boucle ne tourne pas.
Il s'agit de rechercher dans la feuille BA les valeurs correspondante à celles de la feuille BU.
voici la macro

Sub CHERC()
Dim BA As Worksheet
Dim BU As Worksheet
Dim i As Variant

Set MaPlage = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))

For Each i In MaPlage

If Worksheets("BU").Cells(2 + i, 1) = Worksheets("BA").Cells(2 + i, 1) Then

Worksheets("BU").Cells(2 + i, 2) = Worksheets("BA").Cells(2 + i, 2)

End If

Next i

End Sub


Merci pour votre aide
Henry
Bonjour,
Un début..
Set MaPlage = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
OK, mais de quelle feuille Range, Cells, Rows
 
Bonjour Henry, jacky67, le forum

Un essai.
Astuce :
Pour comprendre votre erreur dans le code, il faut par exemple le faire en pas à pas détaillé (touche F8 à chaque ligne de code) et voir en positionnant la souris à chaque passage de boucle quelle est la valeur que prenait "i".
Là j'ai modifié mais reprenez votre code initial et effectivement après le premier passage, la valeur de i est de...

Bonne journée
zebanx
 

Pièces jointes

Dernière édition:
Bonjour Henry, jacky67, le forum

Un essai.
Astuce :
Pour comprendre votre erreur dans le code, il faut par exemple le faire en pas à pas détaillé (touche F8 à chaque ligne de code) et voir en positionnant la souris à chaque passage de boucle quelle est la valeur que prenait "i".
Là j'ai modifié mais reprenez votre code initial et effectivement après le premier passage, la valeur de i est de...

Bonne journée
zebanx
Bonjour Zebanx, merci pour votre aide, la valeur de i étant égale à 0 la boucle ne pouvait pas tourner.
 
Bonjour,
Macro refaite à son plus simple appareil pour la compréhension
Bonjour M12, merci pour votre aide, je comprends que mes variables et leur initialisation n'était pas optimisées et que les listes devaient être séparées. Lorsque j'écrivais DIM i As integer un message d'erreur remontait en m'indiquant que le code attendait soit un variant soit un object. Je présume que c'est parce que dans la boucle la valeur de i n'était pas définie. Merci beaucoup.
 
- 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
8
Affichages
485
Réponses
4
Affichages
211
Réponses
2
Affichages
217
Réponses
10
Affichages
298
Réponses
5
Affichages
247
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
532
Retour