Utilisation de "IF THEN"

Résolu
Signaler
Messages postés
50
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
17 juillet 2010
-
Messages postés
126
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 février 2007
-
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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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 #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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 #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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 #
Messages postés
50
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
17 juillet 2010

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');
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonjour,
Tu as mis IfA1<>"TOTO" au lieu de If A1<>"TOTO",
Un espace manque entre If et A1.
Messages postés
50
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
17 juillet 2010

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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
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 #
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Arf, j'avais pas fait gaffe !

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

++
Messages postés
126
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 février 2007

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.