Macro excel vlookup
Résolu/Fermé
A voir également:
- Macro excel vlookup
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
7 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
7 janv. 2011 à 16:45
7 janv. 2011 à 16:45
Bonjour,
Essaies en remplacant
par
.value à cellule par prudence (à tester)
Essaies en remplacant
IsError(Application.VLookup(cellule, Sheets("France").Range("A1:A889"), 1, False))
par
application.countif(Sheets("France").Range("A1:A889"),cellule.value)=0
.value à cellule par prudence (à tester)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
7 janv. 2011 à 17:43
7 janv. 2011 à 17:43
Ok, mais quelle est l'erreur? as tu un message d'erreur,si oui lequel et sur quelle ligne?
As tu aucun effet ?
essaies en pas à pas (dans VBE, F8) installes des espions (débogage)...
tu dis, car en lisant ta macro, ca devrait marcher (comme tu t'en ai rendu compte :-)...)
As tu aucun effet ?
essaies en pas à pas (dans VBE, F8) installes des espions (débogage)...
tu dis, car en lisant ta macro, ca devrait marcher (comme tu t'en ai rendu compte :-)...)
Bonjour Michel, Non je n'ai pas d'erreur, au contraire j'ai toutes les lignes du worksheet ALL qui se colorie en jaune au lieu d'avoir que les lignes dont le contenu des cellules de la premiere colonne est commune avec le worksheet France.
J'ai réduit la macro à :
--------------
Sub trouver()
Dim cellule As Range
For Each cellule In Sheets("All").Range("A1:A497")
If IsError(Application.VLookup(cellule, Sheets("France").Range("A1:A889"), 1, False)) Then
Rows(cellule.Row).Interior.ColorIndex = 6
End If
Next
End Sub
------------
Cdlt,
beckie
J'ai réduit la macro à :
--------------
Sub trouver()
Dim cellule As Range
For Each cellule In Sheets("All").Range("A1:A497")
If IsError(Application.VLookup(cellule, Sheets("France").Range("A1:A889"), 1, False)) Then
Rows(cellule.Row).Interior.ColorIndex = 6
End If
Next
End Sub
------------
Cdlt,
beckie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Encore merci pour votre aide. j'ai trouvé pour quoi cela ne fct pas, il y avait des caratères blanc après chque nom dans une des deux collonnes.
merci encore de votre aide
Cordialement,
Bonne journée.
beckie
merci encore de votre aide
Cordialement,
Bonne journée.
beckie
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
10 janv. 2011 à 10:09
10 janv. 2011 à 10:09
Bonjour,
Regarde si cette macro te convient
ci joint maquette
http://www.cijoint.fr/cjlink.php?file=cj201101/cijrlqK0Ks.xls
Regarde si cette macro te convient
Option Explicit Sub reperer_francais() Dim Lig_fr As Long, Cptr As Long, Ref As String Dim Dico As Object Dim Lig_all As Long Set Dico = CreateObject("scripting.dictionary") With Sheets("france") Lig_fr = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row For Cptr = 1 To Lig_fr Ref = .Cells(Cptr, 1) Dico.Add Ref, Ref Next End With Application.ScreenUpdating = False With Sheets("all") Lig_all = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row For Cptr = 1 To Lig_all Ref = .Cells(Cptr, 1) If Dico.exists(Ref) Then .Rows(Cptr).Interior.ColorIndex = 6 Next End With End Sub
ci joint maquette
http://www.cijoint.fr/cjlink.php?file=cj201101/cijrlqK0Ks.xls