Bonjour le forum, ça fait zizir que même un 30 Décembre on ait plus de 300 xceliens dans le forum 🙂
Voila mon casse-tête :
J'ai 3 onglets : "Ref", "Master" et "BDD".
Je voudrai que la macro remplace le contenu de l'onglet "Master" par celui qu'elle trouvera dans "BDD" uniquement sur les refs listées dans "Ref"🙄 🙂
Les onglets "master" et "bdd" n'ont pas le même nb de lignes expressement. "bdd" en a plus.
Il n'y a pas de message d'erreur mais la macro ne respecte pas le cahier de charges : surement parce que le code est mal fait 😉
Pouvez-vous y jeter un coup d'oeil svp ?
Merci à vous et excellentes fêtes et sinon à l'année prochaine ! 😉
le code:
[highlight]
[/code]
Voila mon casse-tête :
J'ai 3 onglets : "Ref", "Master" et "BDD".
Je voudrai que la macro remplace le contenu de l'onglet "Master" par celui qu'elle trouvera dans "BDD" uniquement sur les refs listées dans "Ref"🙄 🙂
Les onglets "master" et "bdd" n'ont pas le même nb de lignes expressement. "bdd" en a plus.
Il n'y a pas de message d'erreur mais la macro ne respecte pas le cahier de charges : surement parce que le code est mal fait 😉
Pouvez-vous y jeter un coup d'oeil svp ?
Merci à vous et excellentes fêtes et sinon à l'année prochaine ! 😉
le code:
[highlight]
Code:
Sub RECH()
Application.ScreenUpdating = False
Set aw = ActiveWorkbook
Set ws = ThisWorkbook
With ActiveWorkbook.Sheets("BDD")
m = Sheets("BDD").Range("A65536").End(xlUp).Row 'On repère la dernière réf en colonne A en "BDD"
n = Sheets("Master").Range("A65536").End(xlUp).Row 'On repère la dernière réf en colonne A en "Master"
For i = 2 To m
'On recherche uniquement les réfs de l'onglet "Ref" dans l'onglet "BDD" et on met le résultat dans "c".
Set c = ws.Sheets("Ref").Columns("A").Find(Sheets("BDD").Range("A" & i), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then 'Si la ref existe bien dans l'onglet "BDD"
For j = 2 To n
'On recherche cette ref dans l'onglet "Master" et on met le résultat dans "x".
Set x = c.Find(Sheets("Master").Range("A" & j), LookIn:=xlValues, lookat:=xlWhole)
If Not x Is Nothing Then
For p = 2 To 7 '1ere colonne à la 7eme colonne
'On remplace le contenu de l'onglet "Master" par celui de "BDD" sur les 7 colonnes de la ref trouvée
Sheets("Master").Cells(x.Row, p) = Sheets("BDD").Cells(c.Row, p)
Next p
End If
Next j
End If
Next
End With
End Sub
Pièces jointes
Dernière édition: