Excel: Problème Vlookup en VBA
Résolu/Fermé
VdM001
Messages postés
20
Date d'inscription
lundi 23 août 2010
Statut
Membre
Dernière intervention
4 juin 2011
-
24 août 2010 à 08:27
VdM001 Messages postés 20 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 4 juin 2011 - 24 août 2010 à 13:12
VdM001 Messages postés 20 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 4 juin 2011 - 24 août 2010 à 13:12
A voir également:
- Excel: Problème Vlookup en VBA
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
3 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 311
Modifié par michel_m le 24/08/2010 à 11:06
Modifié par michel_m le 24/08/2010 à 11:06
Re,salut Mike
essaies cette autre méthode:
edit: ajouté oubli next
:-x
essaies cette autre méthode:
Dim cellule As Range For Each cellule In Range("B3:B202") If Application.CountIf(Workbooks("Book1(4).xls").Sheets("1").Range("B3:B22"), cellule) = 0 Then Rows(cellule.Row).Interior.ColorIndex = -4142 Else Rows(cellule.Row).Interior.ColorIndex = 6 End If next
edit: ajouté oubli next
:-x
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
Modifié par michel_m le 24/08/2010 à 09:37
Modifié par michel_m le 24/08/2010 à 09:37
Bonjour,
la foncction rechercheV renvoie "erreur" et non FALSE
essaies (non testé)
question à creuser:
sheets("1") correspond t il à la première feuille ou à une feuille nommée 1
si 1° feuille: sheets(1)
:-x
la foncction rechercheV renvoie "erreur" et non FALSE
essaies (non testé)
Dim cell As Range For Each cell In Range("B3:B202") If IsError(Application.VLookup(cell, Workbooks("Book1(4).xls").Sheets("1").Range("B3:B22"), 1, False)) Then cell.EntireRow.Interior.ColorIndex = -4142 Else cell.EntireRow.Interior.ColorIndex = 6 End If Next
question à creuser:
sheets("1") correspond t il à la première feuille ou à une feuille nommée 1
si 1° feuille: sheets(1)
:-x
VdM001
Messages postés
20
Date d'inscription
lundi 23 août 2010
Statut
Membre
Dernière intervention
4 juin 2011
24 août 2010 à 09:46
24 août 2010 à 09:46
Ca ne marche pas... Encore la même erreur.
Merci quand même d'avoir essayé ^^
Pour votre question, sheets("1") correspond à une feuille nommée 1
Merci quand même d'avoir essayé ^^
Pour votre question, sheets("1") correspond à une feuille nommée 1
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 24/08/2010 à 10:58
Modifié par Mike-31 le 24/08/2010 à 10:58
Salut,
Colle ce code dans le module du premier fichier (autre que Book1(4).xls associe le à un bouton.
les deux fichiers doivent être ouvert ou il faudra modifier le code pour avoir l'ouverture automatique ou travailler en fichier fermé
Sub test()
Set Fich1 = ActiveWorkbook
Set Fich2 = Workbooks("Book1(4).xls")
coul = 3
For n = 2 To Fich1.Sheets("Feuil1").Range("B65536").End(xlUp).Row
For m = 2 To Fich2.Sheets("Feuil1").Range("B65536").End(xlUp).Row
If InStr(Fich2.Sheets("Feuil1").Range("B" & m), Fich1.Sheets("Feuil1").Range("B" & n)) <> 0 Then
Fich1.Sheets("Feuil1").Range("B" & n).Interior.ColorIndex = coul
Fich2.Sheets("Feuil1").Range("B" & m).Interior.ColorIndex = coul
coul = coul + 1
If coul > 56 Then coul = 3
End If
Next m
Next n
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Colle ce code dans le module du premier fichier (autre que Book1(4).xls associe le à un bouton.
les deux fichiers doivent être ouvert ou il faudra modifier le code pour avoir l'ouverture automatique ou travailler en fichier fermé
Sub test()
Set Fich1 = ActiveWorkbook
Set Fich2 = Workbooks("Book1(4).xls")
coul = 3
For n = 2 To Fich1.Sheets("Feuil1").Range("B65536").End(xlUp).Row
For m = 2 To Fich2.Sheets("Feuil1").Range("B65536").End(xlUp).Row
If InStr(Fich2.Sheets("Feuil1").Range("B" & m), Fich1.Sheets("Feuil1").Range("B" & n)) <> 0 Then
Fich1.Sheets("Feuil1").Range("B" & n).Interior.ColorIndex = coul
Fich2.Sheets("Feuil1").Range("B" & m).Interior.ColorIndex = coul
coul = coul + 1
If coul > 56 Then coul = 3
End If
Next m
Next n
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
24 août 2010 à 13:12
Merci beaucoup (je connaissais pas cette formule CountIf)