Aide VBA svp

Bonjour,

J'aimerai savoir s'il existe une commande qui signifie "est dans". Je m'explique, par exemple je sélectionne une ligne toute entière et je demande si le string "salut" est dans la ligne je sélectionne la ligne suivante. Voilà la commande que j'utilise pour sélectionner ma ligne entière :
ActiveCell.EntireRow.Select
et il me faudrait in truc du genre IF "salut" IN Selection THEN ...

Merci bien
Configuration: Windows XP
Firefox 3.0.10

2 réponses

  1. Bonjour,

    On peut utiliser la fonction InStr().

    Voilà ce que dit l'aide dans Excel sur cette fonction :
    Renvoie une valeur de type Variant (Long) indiquant la position de la première occurrence d'une chaîne à l'intérieur d'une autre chaîne.
    
    Syntaxe
    
    InStr([start, ]string1, string2[, compare])
    
    La syntaxe de la fonction InStr comprend les arguments suivants :
    
    [start] Facultatif. Expression numérique qui définit la position de départ de chaque recherche. Si cet argument est omis, la recherche commence au premier caractère. Si l'argument start contient une valeur de type Null, une erreur se produit. L'argument start est obligatoire si l'argument compare est indiqué. 
    
    [string1] Expression de chaîne dans laquelle la recherche est effectuée. 
    
    [string2] Expression de chaîne recherchée. 
    
    [compare] Facultatif. Indique le type de comparaison de chaînes. Si l'argument compare est de type Null, une erreur se produit. Si l'argument compare est omis, la valeur de l'instruction Option Compare détermine le type de comparaison...


    Bon courage,

    ;o)
    0
    1. Contributeur
      bonjour
      pour la ligne3
      If Application.CountIf(Rows(3), "salut") > 0 Then

      si "salut" est avec d'autres mots dans une cellule
      If Application.CountIf(Rows(3), "*salut*") > 0 Then
      0
      1. Hello,

        Merci bcp, c'est vraiment sympa de prendre du temps pour nous aider. J'aurais une autre petite question pour vous j'aimerais savoir comment je dis : Si la ligne courante est vide alors <=> If Row(3) est vide Then

        Merci bcp pour votre aide
        0
      2. Contributeur
        @byakuyaSub estvideoupas()
        If Application.CountA(Rows(3)) = 0 Then
        MsgBox "gagné"
        Else
        mqsbox "perdu"
        End If
        End Sub
        0