grotsblues
XLDnaute Occasionnel
Bonjour
Est-il possible de rechercher dans 2 onglets des cellules identiques et copier dans un autre onglet le résultat.
j'ai un fichier avec 4 onglets
- TOTO et TATA qui mis à jour chaque mois
- BASE qui regroupe l'ensemble des clients et qui peut évoluer
- PV qui va me permettre de comptabiliser des écritures en fonction de TOTOet TATA
Ce que je souhaiterai ( si tu trouve dans TATA et TOTO COLONNE A le chiffre 4 qui se trouve dans PV en A2 alors
copie TATA A6 dans PV A6
copie TATA D6 dans PV L6
copie TATA D2 dans PV O6
copie TATA A6 dans PV A6
copie TATA j6 dans PV L7
copie TATA j2 dans PV O7
copie TATA D2 dans PV O6…… puis passe à l onglet TOTO
J ai testé avec la fonction INDEX et EQUIV mais cela ne fonctionne pas puis avec un code VBA
qui ne donne pas ce que je souhaite
Sub Onglet_PV_maj()
Dim i As Long, o As Worksheet
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
Sheets("PV").Application.Union(Range("a6", [a65536].End(xlUp)), Range("e6:h" & [e65536].End(xlUp).Row)).Offset(1, 0).Clear
'boucle sur les noms du classeurs
For Each o In Worksheets
If o.Name <> "PV" And o.Name <> "base" Then
'boucle i = a A
For i = 3 To o.Cells(Rows.Count, "a").End(xlUp).Row
If o.Cells(i, "a") = Sheets("PV").Range("a2") Then
Sheets("PV").Range("f65536").End(xlUp)(2).Resize(, 9).Value = o.Cells(i, "a").Resize(, 9).Value
Sheets("PV").Range("a65536").End(xlUp)(2).Value = o.Name
End If
Next
End If
Next
With Range(Range("f6"), Range("f6").End(xlDown))
.NumberFormat = "00"
.Value = Range("a2").Value
.Offset(, -1).Value = Range("e1").Value
End With
With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub
Je joint un fichier comme exemple
Pouvez vous m'aider
MERCI AU FORUM
Est-il possible de rechercher dans 2 onglets des cellules identiques et copier dans un autre onglet le résultat.
j'ai un fichier avec 4 onglets
- TOTO et TATA qui mis à jour chaque mois
- BASE qui regroupe l'ensemble des clients et qui peut évoluer
- PV qui va me permettre de comptabiliser des écritures en fonction de TOTOet TATA
Ce que je souhaiterai ( si tu trouve dans TATA et TOTO COLONNE A le chiffre 4 qui se trouve dans PV en A2 alors
copie TATA A6 dans PV A6
copie TATA D6 dans PV L6
copie TATA D2 dans PV O6
copie TATA A6 dans PV A6
copie TATA j6 dans PV L7
copie TATA j2 dans PV O7
copie TATA D2 dans PV O6…… puis passe à l onglet TOTO
J ai testé avec la fonction INDEX et EQUIV mais cela ne fonctionne pas puis avec un code VBA
qui ne donne pas ce que je souhaite
Sub Onglet_PV_maj()
Dim i As Long, o As Worksheet
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
Sheets("PV").Application.Union(Range("a6", [a65536].End(xlUp)), Range("e6:h" & [e65536].End(xlUp).Row)).Offset(1, 0).Clear
'boucle sur les noms du classeurs
For Each o In Worksheets
If o.Name <> "PV" And o.Name <> "base" Then
'boucle i = a A
For i = 3 To o.Cells(Rows.Count, "a").End(xlUp).Row
If o.Cells(i, "a") = Sheets("PV").Range("a2") Then
Sheets("PV").Range("f65536").End(xlUp)(2).Resize(, 9).Value = o.Cells(i, "a").Resize(, 9).Value
Sheets("PV").Range("a65536").End(xlUp)(2).Value = o.Name
End If
Next
End If
Next
With Range(Range("f6"), Range("f6").End(xlDown))
.NumberFormat = "00"
.Value = Range("a2").Value
.Offset(, -1).Value = Range("e1").Value
End With
With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub
Je joint un fichier comme exemple
Pouvez vous m'aider
MERCI AU FORUM