.find et non respet de la case

Seb

XLDnaute Occasionnel
Bonsoir le forum,

Je viens d'adapter un bout de macro que j'ai trouvé pour effectuer une recherche dans ma feuille. Mais celle ci respecte la case alors que je ne le souhaite pas.. Pourtant j'ai bien spécifié MatchCase:=False ... je comprend pas pourquoi il me la respecte toujours.... si quelqu'un a connait la solution .. Voila ma macro:

Sub recherche()
Dim valeur, vt, rep

valeur = InputBox("Que recherchez vous?")
Range("A1").Select
On Error Resume Next
ActiveSheet.Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, Lookat:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
vt = Application.Find(valeur, ActiveCell)
If vt = 2015 Then GoTo suite
Response1 = MsgBox("Voulez-vous continuer", vbInformation + vbYesNo)
If Response1 = vbNo Then
Exit Sub
Else
Do While Response1 = vbYes
Cells.FindNext(After:=ActiveCell).Activate
Response1 = MsgBox("Voulez-vous continuer", vbInformation + vbYesNo)
Loop
End If
suite:
If ActiveCell <> valeur Then MsgBox ("Le nom cherché n'a pas été trouvé ")
End Sub




Merci beaucoup

seb
 

Gelinotte

XLDnaute Accro
Re : .find et non respet de la case

Bonsoir,

Une coquille et une précision.

La précision : je préfère donner un format aux variables ... Dim valeur, vt, rep as String

La coquille : valeur ... change pour LaValeur et tout se met à fonctionner.
Le mot "valeur" doit être un mot réservé.

Aussi, je préfère au moment de nommer mes variables de leur donner des majuscules et minuscules.
Exemple : Dim LaValeur, Vt, Rep as String

Puis quand j'écris le code, je n'écris que des minuscules. Quand je change de ligne ou de section, les minuscules changent pour des majuscules aux caractères choisis. Cela me dit que je n'ai pas fait de faute de frappe dans mes variables.

G
 

frangy

XLDnaute Occasionnel
Re : .find et non respet de la case

Bonjour,

Tu peux essayer comme cela
Code:
Sub recherche()
Dim valeur, vt, rep
    valeur = InputBox("Que recherchez vous?")
    Set vt = ActiveSheet.Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, Lookat:= _
        xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
    If Not vt Is Nothing Then
        vt.Select
        Response1 = MsgBox("Voulez-vous continuer", vbInformation + vbYesNo)
        If Response1 = vbNo Then
            Exit Sub
        Else
            Do While Response1 = vbYes
                Cells.FindNext(After:=ActiveCell).Activate
                Response1 = MsgBox("Voulez-vous continuer", vbInformation + vbYesNo)
            Loop
        End If
    Else
        If ActiveCell <> valeur Then MsgBox ("Le nom cherché n'a pas été trouvé ")
    End If
End Sub

A+
 

Seb

XLDnaute Occasionnel
Re : .find et non respet de la case

Bonsoir Gelinotte, frangy,Myta,

Merci beaucoup d'avoir regardé mon soucis, suis bien arrivé à faire ce que je voulais.. C'est vrai qu'il faut que je prenne bien l'habitude de bien déclarer mes variables... Je pense pas les regarder quand j'ai une erreur...

Merci beaucoup

Seb
 

Discussions similaires

Statistiques des forums

Discussions
314 062
Messages
2 105 220
Membres
109 289
dernier inscrit
6LV1.69510