Problème de condition dans l'exécution d'une macro

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 !

Magic_Doctor

XLDnaute Barbatruc
Rebonsoir,

J'ai stipulé, en début de macro, certaines conditions que voici :

If [OnlyUX2].Value = 0 Then
Set cellule1 = [NbUXWanted2b]
Set cellule2 = [NbUXWanted2c]
Set cellule3 = [NbUXWanted2d]
Set cellule4 = [NbUXWanted2a]
Else
Set cellule1 = [NbUXWanted2a]
Set cellule2 = [NbUXWanted2b]
Set cellule3 = [NbUXWanted2c]
Set cellule4 = [NbUXWanted2d]
End If

"OnlyUX2" étant le nom d'une cellule dans la feuille, qui peut prendre la valeur 1 ou 0.

Dans cette même feuille se trouve une cellule qui se nomme "UXvsUY2" et qui, quand on y introduit une donnée, déclenche une macro événementielle.
Or, je voudrais que la deuxième condition s'applique aussi quand on introduit une nouvelle donnée dans la cellule "UXvsUY2". Ce qui donnerait en langage "ubuesque" :

If [OnlyUX2].Value = 0 Then
Set cellule1 = [NbUXWanted2b]
Set cellule2 = [NbUXWanted2c]
Set cellule3 = [NbUXWanted2d]
Set cellule4 = [NbUXWanted2a]
ElseIf [OnlyUX2].Value = 1 Or QuelqueChoseQuiSePasseDans [UXvsUY2] Then
Set cellule1 = [NbUXWanted2a]
Set cellule2 = [NbUXWanted2b]
Set cellule3 = [NbUXWanted2c]
Set cellule4 = [NbUXWanted2d]
End If

Est-ce possible ?
 
Re : Problème de condition dans l'exécution d'une macro

Rebonsoir Magic Doctor,

Il faudrait voir le fichier pour être précis.

A priori, la solution consiste à utiliser une variable flag :

- mémorisée en écrivant en tête d'un module Public flag As Boolean

- renseignée dans la macro évènementielle par flag = True

- utilisée ensuite dans ton code :

Code:
If [OnlyUX2].Value = 0 Then
    Set cellule1 = [NbUXWanted2b]
    Set cellule2 = [NbUXWanted2c]
    Set cellule3 = [NbUXWanted2d]
    Set cellule4 = [NbUXWanted2a]
ElseIf [OnlyUX2].Value = 1 [COLOR="Red"]Or flag[/COLOR] Then
    [COLOR="red"]flag = False[/COLOR]
    Set cellule1 = [NbUXWanted2a]
    Set cellule2 = [NbUXWanted2b]
    Set cellule3 = [NbUXWanted2c]
    Set cellule4 = [NbUXWanted2d]
End If

A+
 
- 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

Discussions similaires

Réponses
4
Affichages
294
Réponses
9
Affichages
632
Retour