VBA : recherche mot dans une cellule

Bonjour à tous,

J'ai créé une petite procédure sous VBA me permettant de rechercher un nom dans un onglet. Mon souci : je suis obligé de taper le nom exactement tel qu'il est écrit dans la cellule et, bien sur, il y a de tout dans les centaines de cellules à tester... Du genre : "DUPONT" ou DUPONT Thierry" ou "Dupont T." ou encore "Mr DUPONT Thierry"...

Ma question : existe t-il un moyen, dans le code ci-dessous, pour que la recherche s'effectue sur un mot seulement en majuscules ou en minuscules ? C'est à dire qu'en tapant "Dupont" ou "dupont" ou "DUPONT", la macro se positionne bien sur le même nom.

Sub Recherche_Noms()
Dim Nom As String
Dim Dpt As String
Dim Cell As Range

Nom = InputBox("Veuillez Saisir le NOM du Notaire ")

If Nom = "" Then
    MsgBox "Vous n'avez pas saisi de NOM !!!"
    Exit Sub
End If

UsfRecherche.Show
Dpt = ActiveCell.Value

Sheets(Dpt).Select
Range("a1").Select

For Each Cell In Range("A5:A300")
    If Cell.Value = Nom Then
        Cell.Activate
        Exit Sub
    End If
Next Cell
'MsgBox "*** LE NOM N'A PAS ETE TROUVE ***"
End Sub

J'espère avoir été assez clair dans mes explications et vous remercie d'avance pour votre aide.

Fabrice,

Bonjour,

Remplace cette partie de ton code (boucle for) suivant :

For Each Cell In Range("A5:A300") 
    If Cell.Value = Nom Then 
        Cell.Activate 
        Exit Sub 
    End If 
Next Cell 

par celui-ci :

For Each Cell In Range("A5:A300")
    If WorksheetFunction.CountIf(Cell, "*" & nom & "*") Then
        Cell.Activate
        Exit Sub
    End If
Next Cell

et dis-nous si ça te va comme solution.

Bonjour le forum,

Encore une fois, merci à toi Raja... Cela fonctionne parfaitement et me retire une belle épine du pied. Par contre, peux-tu m'expliquer (en gros) la fonction :

If WorksheetFunction.CountIf(Cell, "*" & nom & "*")

Merci encore pour ton aide et bonne journée à tous.

Fabrice,

Bonjour,

If WorksheetFunction.CountIf(Cell, "*" & nom & "*")

Il s'agit d'une fonction NB.SI avec pour paramètre :

CELL : la cellule à contrôler

* & nom & * : valeur de la variable "nom"

Amicalement

Dan

Re-,

Merci Dan pour ces précisions. En recherchant dans l'aide Excel, j'ai cru comprendre qu'en fait, l'objet "WorksheetFunction" pouvait être suivi de fonctions de calculs. Mais encore faut-il connaitre les objets permettant ce genre de chose...

Merci encore à tous les deux.

Amicalement.

Fabrice,

Rechercher des sujets similaires à "vba recherche mot"