Niceweekend
Messages postés2Date d'inscriptionmercredi 16 avril 2008StatutMembreDernière intervention16 avril 2008
-
16 avril 2008 à 10:51
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
16 avril 2008 à 19:37
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
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201259 16 avril 2008 à 10: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
Niceweekend
Messages postés2Date d'inscriptionmercredi 16 avril 2008StatutMembreDernière intervention16 avril 2008 16 avril 2008 à 19:30
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).