Utilisation de "IF THEN"

Résolu
BAUHAUS44 Messages postés 50 Date d'inscription samedi 19 août 2006 Statut Membre Dernière intervention 17 juillet 2010 - 19 août 2006 à 10:31
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007 - 19 août 2006 à 21:50
Bonjour,
J'utilise excel et visual basic pour créer des petites macros mais actuellement je suis bloqué. Je n'arrive pas à traduire la formule excel suivante =SI(A1<>?TOTO? ;VRAI) en langage visual basic. Le but de cette macro est d’aller voir dans la cellule A1 si le texte est différent de TOTO, si c’est le cas une action doit suivre. Je pense qu’il faut utiliser « If Then » mais je n’arrive pas à me dépatouiller.
Quelqu’un peut-il m’aider ???
D’avance merci.

Javascript:Insert_Emoticon('/imgs2/smile.gif');

10 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 août 2006 à 13:15
La syntaxe exacte est la suivante

If Range("A1").Value <> "TOTO"Then
    ' Chose à faire si c'est vrai
   
Else
    ' Chose à faire si c'est faux
   
End If

Sevyc64  (alias Casy)
<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 août 2006 à 10:38
Je pense que ça devrai etre quelque chose du style

If TaCellule_A1 = "TOTO" then
    ' Chose à faire si c'est vrai

Else
    ' Chose à faire si c'est faux

End If

Sevyc64  (alias Casy)
<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 août 2006 à 10:40
Oupps désolé, pour coller à ta question c'est plutot

If TaCellule_A1 <> "TOTO" then ......

Sevyc64  (alias Casy)
<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
BAUHAUS44 Messages postés 50 Date d'inscription samedi 19 août 2006 Statut Membre Dernière intervention 17 juillet 2010
19 août 2006 à 11:53
J'ai déjà essayé avec : IfA1<>"TOTO", mais il me met le message d'erreur suivant au niveau <> : erreur de compilation, Attendu : Expression. J'en suis resté à ça, depuis je n'avance plus.

Javascript:Insert_Emoticon('/imgs2/smile.gif');
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 août 2006 à 12:19
Bonjour,
Tu as mis IfA1<>"TOTO" au lieu de If A1<>"TOTO",
Un espace manque entre If et A1.
0
BAUHAUS44 Messages postés 50 Date d'inscription samedi 19 août 2006 Statut Membre Dernière intervention 17 juillet 2010
19 août 2006 à 13:35
J'ai fait le test avec : If Range("A1").Value <> "TOTO"Then, et ça marche.
Un grand MERCI à tous les deux. Grace à vous, l'amateur autodidacte que je suis progresse.


BAUHAUS44
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 août 2006 à 18:29
Salut,

je vous offre d'autres syntaxes :

If Range("A1").Value <> "TOTO" Then MsgBox Range("A1").Value & " est différent de TOTO"

Ou

If Cells(1, 1)Value <> "TOTO" Then MsgBox Range("A1").Value & " est différent de TOTO"

Cells est à choisir lors d'une boucle sur plusieurs cellules, par exemple :
Dim i As Byte
For i = 1 To 100
If Cells(i, 1)Value <> "TOTO" Then MsgBox Range("A1").Value & " est différent de TOTO"
Next i

C'était la minute Info !

++
mortalino
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 août 2006 à 18:41
Je me permet de corriger.

Je pense que c'est plutot Cells(...).Value, non?

Sevyc64  (alias Casy)
<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 août 2006 à 18:50
Arf, j'avais pas fait gaffe !

Bien vu Casy, j'ai omis le point. (t'as des yeux de Lynx !) ;)

++
0
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007
19 août 2006 à 21:50
Bonsoir

Excusez moi si je ne comprends pas mais quel est l'intérêt de metter ce type de formule dans une macro? Si on le fait manuellement, l'avantage, c'est que si on change la valeur de A1 par TOTO, alors automatiquement, la valeur cible est modifiée alors qu'avec la macro, non. Je m'explique. Supposons que la cellule A1 soit égale à TEST (<>de TOTO). On tape la formule en B1 et on obtient une valeur.On modifie la valeur de A1 en TOTO. Automatiquement, la valeur de B1 est modifiée.
Maintenant, on refait la même chose mais avec une macro. Si on modifie la valeur de A1, TEST en TOTO, la valeur de B1 n'est pas modifiée.
0
Rejoignez-nous