Recherche spéciale vba

Résolu
Bonjour,

je but sur un petit problème :
J'ai dans la colonne A :
case 1 : LEFT-A1
case 2 : AUTRES
case 3 : LEFT-A2
case 4 : BIBI

Mon objectif est de rechercher dans la colonne A, le mot "LEFT" dans les chaines de caractères. Problème left est une fonction d'excel.

Voici mon début :
for i = 1 to 4
If Cells(i,1) = .Find(LEFT- & "*", LookIn:=xlValues) Then
'Si LEFT trouvé. Mettre en gras la case' (non détaillé)
end if
next i


Merci d'avance à vous

Bonne journée

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

    Mais tu recherche la chaine "LEFT-" :
    .Find("LEFT-*", ...

    Par contre pas sûr que .find accepte l'*

    eric
    1. Pourquoi n'utilises-tu pas la fonction MID?
      1. ou alors Pos = InStr(1, chaine, souschaine, 0) qui va te renvoyer la position de ta sous-chaine dans ta chaine, s'il la trouve?
      2. Je ne peux pas utiliser MID, parce que la longueur du mot cherché peut varier
      3. Oui mais InStr tu peux puisqu'il cherche une sous-chaine
      4. je vais faire des tests merci
    2. Contributeur
      Bonjour

      Sub trouver_left() 
      Dim Nbre As Integer, Lig As Long, cptr As Integer 
      
      Nbre = Application.CountIf(Columns(1), "left-" & "*") 
      If Nbre = 0 Then GoTo vide 
      
      Application.ScreenUpdating = False 
      Lig = Cells.Rows.Count 
      For cptr = 1 To Nbre 
           Lig = Columns(1).Find("LEFT-", Cells(Lig, 1), , xlPart).Row 
           Cells(Lig, 1).Font.Bold = True 
      Next 
      Exit Sub 
      
      vide: 
      MsgBox "Aucun préfixe ""LEFT-"" existant", vbCritical 
      End Sub 
      
      

      Michel
      1. Je suis arrivé à quelques chose, voici le code :

        Sub test()
        For i = 1 To 12
        test1 = InStr(1, Cells(i, 1).Value, "LEFT-", vbTextCompare)
        'ACTION (if test1=1 then ....)
        Next i
        End Sub

        test1 me donne la valeur 1 quand il trouve LEFT- dans la cellule cible et 0 quand il ne trouve pas. De la je peux utiliser cette variable pour la suite !

        Merci à vous :D vous m'épater par la rapidité des réponses

        à bientot
        1. Contributeur
          Dubol, merci d'avoir complètement snobé ma proposition; je m'en souviendrai, crois moi,