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

[méthode Find] Trouver texte avec caractère spécial

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dolichotis

XLDnaute Occasionnel
Bonjour au forum,

Voilà tout est dans le titre :

comment faire pour trouver un texte dans une feuille contenant un caractère spécial (exemple : caractère grec lambda λ) avec la méthode Find ?
Je n'arrive pas à copier coller ce caractère dans le code... Y a-t-il un moyen de contourner ce problème ?

Merci pour vos solutions, bonne soirée à tous.
 
Re : [méthode Find] Trouver texte avec caractère spécial

Bonjour au forum

Une idée

Utilisation de After
Code:
Sub test()
With Worksheets(1).Range("a1:a11")
    Set c = .Find(5, after:=Range("A11"), LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
          Debug.Print c.Address
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With

End Sub

il suffit de préciser la dernière cellule de la plage

je viens d'essayer sur 2003 et c'est Ok
 
Re : [méthode Find] Trouver texte avec caractère spécial

Re 🙂,
Oui, effectivement, After devrait fonctionner en utilisant la dernière cellule en bas à droite.
Sinon, j'avais préparé une solution "bourrin" 😉...
Code:
Sub test()
If Sheets("Feuil1").Range("A1") = ChrW(955) Then MsgBox "Le caractère lambda est situé en $A$1" & Chr(10) & "Son code Unicode est 955"
Set c = Sheets("Feuil1").Cells.Find(ChrW(955), LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True)
If Not c Is Nothing Then
firstAddress = c.Address
    Do
      If c.Address <> "$A$1" Then MsgBox "Le caractère lambda est situé en " & c.Address & Chr(10) & "Son code Unicode est " & AscW(c)
      Set c = Sheets("Feuil1").Cells.FindNext(c)
    Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End Sub
Mais After est plus élégant 😀.
Bonne soirée 😎
 
Re JNP, bonsoir Banzaï64 🙂

Un peu long à vous répondre, je commençais à m'arracher les cheveux avec la syntaxe de l'argument nommé after.

Ça fonctionnait avec les fichiers de PierreJean et Fo_rum mais pas avec mon fichier.

Donc merci Banzaï
Je pense avoir trouvé pour mon cas comme ceci :

Code:
DerLiS = .Range("A65536").End(xlUp).Row
.../...
With plage
      Set cel = .Find(VSearch, after:=Range("B" & DerLiS), LookAt:=xlPart)

Je teste encore, si problème je reviens.
Merci à tous les 2 Cibleo
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
278
Réponses
5
Affichages
665
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…