VBA comparaison texte de cellules

FrankyVBA -  
pilas31 Messages postés 1878 Statut Contributeur -
Bonjour,
Vieil utilisateur d'excel mais débutant en VBA, je me lance dans des petites macros toutes simples qui me font cependant gagner un temps précieux.

Dans le cas précis, je cherche dans la colonne A les cellules qui contiennent un texte spécifique, je veux sélectionner la ligne corresspondant et la placer à la fin de mon tableau. C'est la comparaison entre le texte recherché et le texte de la cellule qui pose problème, voici la ligne que j'ai écris:

If Range("A" & i).Text = FNP Or Prov Then
...

Pourriez-vous m'indiquer quelle est mon erreur?

Merci !
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,,

    Il faut ceci :

    If Range("A" & i).Value = "FNP" Or "Prov" Then
    ...

    Bon courage

    ;o)
    0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    je dirais même plus :
    If Range("A" & i).Value = "FNP" Or Range("A" & i).Value = "Prov" Then

    Bonnes fêtes à tous
    eric
    0
    1. Polux31 Messages postés 7219 Statut Membre 1 204
       
      Salut

      Ah ben voui ... beaucoup plusmieux comme ça Eric ...

      Merci et bonnes fêtes de fin d'année à toi aussi.

      ;o)
      0
  3. Akre66 Messages postés 57 Statut Membre
     
    Bonjour,
    Dans le même princiaple je me pose la questions, mais au lieu que ça soit un texte fixé, c'est une variable, qui en plus accopagné d'autre carractère...
    En effet, j'ai le nom de famille comme variable mais dans le plage ou je cherche à tester la validitié c'est du genre "M. DAVID BIDULE" (et ma variable que j'ai c'est BIDULE)

    J'ai déjà pensé au Like, Instr, etc...
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. pilas31 Messages postés 1878 Statut Contributeur 648
     
    Bonjour,

    Oui on peut tester avec InStr de cette manière :
    Chaine1 = "M. DAVID BIDULE"
    Chaine2 = "BID"
    If InStr(1, Chaine1, Chaine2, 1) <> 0 Then
    '''
    End If

    le premier "1" signifie commencer la recherche au 1° caractère
    le second "1" signifie sans respecter la casse
    Cordialement,
    0