VB Excel - Macros imbriquées - conditions - booléens

Signaler
Messages postés
2
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
16 avril 2008
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour,

Voici mon problème:
Sous Excel V2000


Quelque part, dans mes lignes de codes, j'ai une macro (appelée par plusieurs macros) dont la structure est la suivante (et cette structure est répétée 15 fois environ:

Sub MacroXXXX()
  
If Range("A1").Value = 1 then
      Macro1
      If Range("A2").Value = 2 then
         Macro2
      End If
End If

Jusque là tout va bien. Sauf que au fur et à mesure des demandes d'amélioration de mon fichier qui me sont faites, j'ai introduit à l'ouverture du fichier un Userform avec Option A et Option B.

Macro2 est une boite de dialogue toute basique mais comme cette brique est répetée un grand nombre de fois, j'ai plein de boite de dialogue identiques qui s'ouvrent avec l'option B et OK à cocher à chaque fois, d'où un utilisateur qui finit par craquer.
Mais je n'ai pas envie de tout casser.

Je voudrais que:
Option A : MacroXXXX s'éxécute telle quelle
Option B : la macro2 de MacroXXXX ne s'exécute pas meme si la condition Range("A2").Value = 2 est vraie

J'ai pensé à introduire la notion de booléen et/ou fonction avec le lancement de MacroXXXX .
du genre :
Option A : MacroXXXX(macro2=true)
Option B : MacroXXXX(macro2=false)

mais je ne maitrise pas du tout la structure des booléens et la décalaration des variables

Merci d'avance

      

3 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Regarde si ceci t'aide un peu

'au lieu de l'appeler par MacroXXXX
'tu l'appelles par MacroXXXX False si tu ne veux PAS executer Macro2
'tu l'appelles par MacroXXXX True si tu VEUX executer Macro2

Sub MacroXXXX(LaunchMacro2 As Boolean)
 
   Select Case Range("A1").Value
       Case 1: Macro1
       Case 2:
               If LaunchMacro2 Then Macro2
   End Select
   
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
16 avril 2008

Eh bien double merci

Pour l'utilisation des booléens et pour l'utilisation de la structure:
 "Select case.. Case... End Select" dont le fonctionnement me convient mieux que "If.. Then... End If"
et qui rend les quelques 1500 lignes de codes plus light (moins quelques unes maintenant).
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Re,
Si tu estimes que ton problème est résolu, pense à appuyer sur réponse acceptée sur le ou les posts qui t'ont fait avancer.

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse