Fonction marche partiellement

Bonjour;

j'ai mis un code VBA dans une feuille mais il ne marche que partiellement.

 If Not Intersect(Range("B2"), Target) Is Nothing Then
    Mots = Split("oui,non", ",")
    If Target Like *1* Or Target Like *2* Or Target Like *3* Or Target Like *4* Then
    Range("B3") = Mots(Int(Rnd() * 2))
    Range("A100") = 1
    Else
    Range("A100") = 0
  End If
 End If

La seule action ne fonctionnant pas est: "Range("A100") = 1". En effet la case A100 est égale à 0.

Comment faire pour qu'il marche?

Merci de vos réponses.

Bonjour,

J'aurais mieux vu

     If Not Intersect(Range("B2"), Target) Is Nothing Then
        Mots = Split("oui,non", ",")
        If Target Like "*1*" Or Target Like "*2*" Or Target Like "*3*" Or Target Like "*4*" Then
            Range("B3") = Mots(Int(Rnd() * 2))
            Range("A100") = 1
        Else
            Range("A100") = 0
        End If
     End If

A+

Ca ne change rien

Quand même merci pour ta réponse

De mon coté, j'ai testé le code et je n'ai constaté aucune anomalie.

La vérité est ailleurs ?

A+

Oui en effet ça fonctionne sauf que je me suis trompé.

J'ai mis des chiffres au lieu de lettres. Et avec des lettres ça ne marche pas. Ce qui ne me paraît pas logique!

Voici le bon code

If Not Intersect(Range("B2"), Target) Is Nothing Then
    Mots = Split("ça va ?,tout va bien ?", ",")
    If Target Like "*bonjour*" Or Target Like "*slt*" Or Target Like "*salut*" Or Target Like "*bonsoir*" Then
        Range("B3") = Mots(Int(Rnd() * 2))
        Range("A100") = 1
    Else
        Range("A100") = 0
  End If
  If Range("B2") = "" Then Range("A100") = 3
 End If

Amicalement

J'obtiens également un fonctionnement satisfaisant avec des chaines de caractères.

Voici mon fichier de test si cela peut t'aider.

11stephane.xlsm (15.22 Ko)

A+

Oui c'est en effet très étrange.

Je ne comprend vraiment pas pourquoi ça ne marche pas pour moi.

Si tu arrives à savoir pourquoi...

Amicalement

Cela montre simplement que l'anomalie que tu constates sur ton classeur n'est pas directement dépendante de cette partie de code.

Difficile d'en dire plus sans un exemple qui présente le dysfonctionnement.

A+

J'ai réessayer et au bout de 2 fois ça à marché.

Ca devait être mon classeur qui bugé... Je ne sais pas....

En tout cas merci de ton temps passé pour moi.

Amicalement

Rechercher des sujets similaires à "fonction marche partiellement"