Comparer 2 colonnes de 2 classeurs diff VBA
Résolu/Fermé
A voir également:
- Comparer 2 colonnes de 2 classeurs diff VBA
- 2 comptes whatsapp - Guide
- Word numéro de page 1/2 - Guide
- 2 ecran pc - Guide
- Fusionner 2 colonnes excel - Guide
- Word 2 colonnes - Guide
4 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
23 févr. 2012 à 09:45
23 févr. 2012 à 09:45
Bonjour,
Tu peux t'inspirer de ce code de Boisgontier : http://boisgontierjacques.free.fr/pages_site/Dictionnaire.htm#ComparaisonC
Tu peux t'inspirer de ce code de Boisgontier : http://boisgontierjacques.free.fr/pages_site/Dictionnaire.htm#ComparaisonC
Une âme charitable pourrait elle me commenter rapidement ce que j'ai souligné s'il vous plaît. et je ne comprend pas pourquoi les variables ne sont pas déclarés :o
Sub ComparaisonColonne() t = Timer() f = 1 'no feuille Application.ScreenUpdating = False Set MonDico1 = CreateObject("Scripting.Dictionary") Set MonDico2 = CreateObject("Scripting.Dictionary") Workbooks("classeur1.xls").Activate For Each c In Sheets(f).Range("A:D").SpecialCells(xlCellTypeConstants, 23) If Not MonDico1.Exists(c.Value) Then MonDico1.Add c.Value, c.Address Next Workbooks("classeur2.xls").Activate Sheets(f).Activate For Each c In Sheets(f).Range("A:D").SpecialCells(xlCellTypeConstants, 23) If Not MonDico2.Exists(c.Value) Then MonDico2.Add c.Value, c.Address Next Workbooks("classeur1.xls").Activate Sheets(f).Activate For Each e In MonDico1 Range(MonDico1.Item(e)).Font.Color = IIf(MonDico2.Exists(e), vbBlack, vbRed) Next Application.ScreenUpdating = True MsgBox Timer() - t End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
23 févr. 2012 à 11:28
23 févr. 2012 à 11:28
Bonjour,
Timer() : https://support.microsoft.com/fr-fr/office/timer-fonction-46da243c-2570-4950-a818-6d6934bf584a?ocmsassetid=ha001228923&correlationid=ae2d1731-dae3-4c25-aa99-758353463263&ui=fr-fr&rs=fr-fr&ad=fr
Application.ScreenUpdating = False : empêche le rafraichissement de l'écran
Set MonDico1 = CreateObject("Scripting.Dictionary") Créé un objet Dictionary : https://support.microsoft.com/fr-fr/help/187234
SpecialCells(xlCellTypeConstants : Les cellules contenant des constantes.
If Not MonDico1.Exists(c.Value) Then MonDico1.Add c.Value, c.Address : Lien déjà donné, t'aurais pu lire.....
Range(MonDico1.Item(e)).Font.Color = IIf(MonDico2.Exists(e), vbBlack, vbRed) Mets en noir (vbBlack) si e exist dans le dictionary (http://boisgontierjacques.free.fr/pages_site/Dictionnaire.htm#SupDoubBD) et en rouge (vbRed) dans le cas contraire, ou l'inverse je ne sais plus...
Timer() : https://support.microsoft.com/fr-fr/office/timer-fonction-46da243c-2570-4950-a818-6d6934bf584a?ocmsassetid=ha001228923&correlationid=ae2d1731-dae3-4c25-aa99-758353463263&ui=fr-fr&rs=fr-fr&ad=fr
Application.ScreenUpdating = False : empêche le rafraichissement de l'écran
Set MonDico1 = CreateObject("Scripting.Dictionary") Créé un objet Dictionary : https://support.microsoft.com/fr-fr/help/187234
SpecialCells(xlCellTypeConstants : Les cellules contenant des constantes.
If Not MonDico1.Exists(c.Value) Then MonDico1.Add c.Value, c.Address : Lien déjà donné, t'aurais pu lire.....
Range(MonDico1.Item(e)).Font.Color = IIf(MonDico2.Exists(e), vbBlack, vbRed) Mets en noir (vbBlack) si e exist dans le dictionary (http://boisgontierjacques.free.fr/pages_site/Dictionnaire.htm#SupDoubBD) et en rouge (vbRed) dans le cas contraire, ou l'inverse je ne sais plus...