Test permanent

raphael_george Messages postés 60 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 22 octobre 2007 - 21 avril 2007 à 17:01
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 21 avril 2007 à 21:22
Salut à tous

je voudrais faire un test permanent sur ma feuille  excel....

En fait:
If Range("AG4").Value = "Oui" Then
'mettre cellule x en couleur
else
'mettre un fond blanc
end if

quand je place dans un module cette syntaxe, il bloque sur la sélection Range("AG4")

Je n'arrive pas a comprendre.
je ne sais pas où le placer dans le code
et si ma syntaxe est correcte

Merci pour votre aide

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 avril 2007 à 17:23
Salut
En général, on donne ce genre de boulot a un Timer, mais sous VBA, cela oblige a utiliser un UserForm.
En fait, il vaut mieux exécuter ta fonction quand la feuille signale qu'il y a eu un changement.
Ainsi, dans la WorkSheet, il y a l'évènement _Change qui se déclenche à chaque fois que le contenu de la feuille est modifié.
Cet évènement te fournit le Range de la section modifiée.
A toi de vérifier si la ou les cellules modifiées (contenues dans ce Range) doivent être testée avec ta fonction.
(Voir les attributs Address ou Column/Row de la variable Target représentant le Range)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 avril 2007 à 17:29
PS : Ton test se fait avec l'orthographe exacte du texte "Oui", donc majuscules et minuscules ne sont pas les mêmes lettres.
Voir UCase ou LCase

Pour être plus clair dans mon explication ci-dessus :
Si tu veux faire cette colorisation dans n'importe quelle cellule de la feuille, il te suffit de faire le test avec Target :
   If Target.Value = "Oui" Then
Si tu veux ne le faire que dans une seule colonne, là, il faudra tester les caractéristiques de Target
0
raphael_george Messages postés 60 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 22 octobre 2007
21 avril 2007 à 17:40
désolé d'abuser de la situation mais pourrais tu me donner un code plus développer, car je suis novice.
merci et désolé d'abuser

Raph
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 avril 2007 à 20:44
Salut,

beh dans l'éditeur de VB, double click sur la feuille concernée :

Ensuite, écris ton code de vérification dans l'évènement Change, comme indiqué par Jack. Idem pour Target, regarde le code de Jack

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
0

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

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
21 avril 2007 à 21:22
Tu peux aussi utiliser la mise en forme conditionnelle. Il s'agit de mettre la bonne condition ou la bonne formule.

Menu Format / Mise en forme conditionnelle...

MPi
0
Rejoignez-nous