• Initiateur de la discussion Initiateur de la discussion olgga
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

olgga

Guest
Bonjour le forum !
Je souhaite tester la valeur d'une variable pour enclencher une autre macro selon sa valeur.

Par exemple : soit la variable A
je voudrais qu'une macro lui donne la valeur 1
de façon à guider le choix d'une autre macro par un traditionnel IF...THEN :

If A = 1 then (call une macro A)
Else (call une macro B)

Merci !
 
Bonjour Olgga, 🙂
Si ce que tu veux c'est une variable qui ne varie que entre 1 et 0 pour faire un filtre qui laisse ou non passer une action, il faut alors faire une variable Drapeau :
Tu déclares une variable ( Drap par exemple)comme étant Boolean (cf aide VBA), elle ne prendra donc que les valeurs Vrai ou Faux.

Ensuite pour déclencher ou non ton action tu mets un filtre dur genre :
IF Drap = True Then ....

Si dans un moment du code les valeurs receuillies ou une action fait que le filtre doit changer, près la dite action tu réaffectes une valeur genre :
Drap = False
etc.... Attention à définir au besoin à l'ouverture la valeur de Drap et à définir sa portée.

Si c'est une variable qui peut prendre x valeurs, voit du côté dans l'aide VBA de Select Case souvent plus approprié à ça que des empilades de IF 😉

Bonne journée,

Brico
 
Ok j'ai bien déclaré ma variable Booléenne
le problème est qu'entre deux SUB, la variable reprend systématiquement la valeur FALSE !
Comment faire pour qu'elle conserve la valeur que je lui impose (TRUE) ?
merci !
 
Re bonsoir, 🙂

Vi c'est normal, c'est ca que je signalais en disant de faire attention à sa portée,

Vois au niveau aide Vba à Dim (et public ensuite pour le futur…)

Dim, instruction
Déclare des variables et attribue de l'espace de stockage.
Remarques
Les variables déclarées à l'aide de l'instruction Dim au niveau module sont disponibles pour toutes les procédures du module. Au niveau procédure, les variables ne sont disponibles qu'au sein de la procédure.


Il faut donc mettre Dim Variable as Boolean en haut de la page du module contenant tes procédures, si elle doit passer dans d’autres modules, notamment workbook, feuille, il faut la déclarer Public dans un module standard obligatoirement.

Vois dans l'aide VBa à :
Durée de vie des variables
Déclaration de variables
et n'hésite pas à cliquer sur 'voir aussi' en bleu..

Bonne nuit,

Brico
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
242
Retour