XL 2016 RECHERCHEV en macro

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

  • ESSAI.xlsm
    15.9 KB · Affichages: 12

Jacky67

XLDnaute Barbatruc
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
 

zebanx

XLDnaute Accro
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

  • ESSAI.xlsm
    19.2 KB · Affichages: 7
Dernière édition:

xamenod

XLDnaute Junior
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.
 

xamenod

XLDnaute Junior
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.
 

Discussions similaires

Réponses
0
Affichages
83

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG