Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Recherche noms dans liste avec macro

mcj1997

XLDnaute Accro
Bonjour,

Je recherche à automatiser la recherche de noms dans une liste avec une macro, fichier en PJ.

Merci d'avance,
 

Pièces jointes

  • surligner suivant nom.xlsx
    8.3 KB · Affichages: 34

DoubleZero

XLDnaute Barbatruc
Re : Recherche noms dans liste avec macro

Bonjour, mcj1997, le Forum,

Un essai en pièce jointe.

A bientôt

P. S. : Bonjour + bises, Papu-net
 

Pièces jointes

  • 00 - mcj1997 - Valeurs rechercher.xlsm
    74.9 KB · Affichages: 42
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Recherche noms dans liste avec macro

Bonsoir mcl1997,

Un exemple de macro à insérer dans un module de code:

Code:
Option Compare Text

Sub Recherche()
Dim Cel As Range, Noms As String

Noms = "Francine, Delphine, Estelle"
With Feuil1
  For Each Cel In .Columns(1).SpecialCells(xlCellTypeConstants)
    Cel.Resize(1, 5).Interior.ColorIndex = IIf(InStr(Noms, Cel.Value) > 0, 43, 0)
  Next
End With
End Sub
A +

Cordialement.

Oups, pas rafraîchi! Bises nocturnes à toi, chère petite ânesse.
 
Dernière édition:

Marc L

XLDnaute Occasionnel
Variantes …

Bonjour !

• Noms recherchés en dur dans le code :

VB:
Sub Demo1()
         Const F = "TRANSPOSE(IF(ISNUMBER(MATCH(#,{""delphine"",""estelle"",""francine""},0)),ADDRESS(ROW(#),1,4)))"
    With Cells(1).CurrentRegion
        .Interior.ColorIndex = xlNone
        VA = Filter(Evaluate(Replace(F, "#", .Columns(1).Address)), False, False)
        If UBound(VA) > -1 Then .Range(Join(VA, ",")).Interior.ColorIndex = 36
    End With
End Sub

• Recherche depuis une liste à partir de la cellule N1 :

VB:
Sub Demo2()
         Const F = "TRANSPOSE(IF(ISNUMBER(MATCH(#,@,0)),ADDRESS(ROW(#),1,4)))"
    With Cells(1).CurrentRegion
        .Interior.ColorIndex = xlNone
        VA = Filter(Evaluate(Replace(Replace(F, "#", .Columns(1).Address), "@", Cells(14).CurrentRegion.Address)), False, False)
        If UBound(VA) > -1 Then .Range(Join(VA, ",")).Interior.ColorIndex = 36
    End With
End Sub
_______________________________________________________________________________
Merci de cliquer sur J'aime ce post en bas à gauche de chaque message ayant aidé …

_______________________________________________________________________________
Je suis Paris, Charlie, Bruxelles, …
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…