Magic_Doctor
XLDnaute Barbatruc
Re bonjour,
Je suis curieux de voir comment l'on peut résoudre ce problème en apparence fort simple.
Sur ma feuille se trouve une cellule qui, quand on modifie son contenu, déclenche une macro événementielle se trouvant dans le module de la feuille. Lorsque son contenu est différent de "cellule vide", dans une cellule de la feuille apparaît la valeur "0" ; quand le contenu est vide, la valeur "1".
Les valeurs "1" ou "0" sont par la suite récupérées ailleurs dans la même macro (qui gère toutes les cellules de la feuille qui déclenchent un événement quand on modifie leur contenu) et qui évidemment réagira différemment suivant la valeur.
Plutôt que de devoir passer par une cellule sur la feuille, ne pourrait-on pas faire en sorte que la variable "1" ou "0" soit gardée en mémoire dans la macro et ainsi être récupérée ?
Voici, très schématiquement, comment se présente la macro :
If Not Application.Intersect(Target, [UXvsUY2]) Is Nothing Then
.
.
.
If [UXvsUY2].Value = "" Then
[OnlyUX2].Value = 1
Else
[OnlyUX2].Value = 0
End If
.
.
.
End If
"UXvsUY2" étant la cellule qui quand elle est vide --> "1" et non vide --> "0"
"OnlyUX2" étant le nom de la cellule dans la feuille qui récupère les valeurs "1" ou "0".
Une autre cellule (en fait il y en a plusieurs) déclenchant une macro événementielle qui réagira différemment suivant la valeur de la cellule "OnlyUX2" :
If Not Application.Intersect(Target, [NbUXWanted2]) Is Nothing Then
.
.
.
If [OnlyUX2].Value = 0 Then
.
.
.
Else
.
.
.
End If
.
.
.
End If
Fatalement, il faut, je pense, se débrouiller pour que la valeur "1" ou "0" se trouve en début de procédure afin qu'elle soit récupérée lors d'un nouvel événement.
Je suis curieux de voir comment l'on peut résoudre ce problème en apparence fort simple.
Sur ma feuille se trouve une cellule qui, quand on modifie son contenu, déclenche une macro événementielle se trouvant dans le module de la feuille. Lorsque son contenu est différent de "cellule vide", dans une cellule de la feuille apparaît la valeur "0" ; quand le contenu est vide, la valeur "1".
Les valeurs "1" ou "0" sont par la suite récupérées ailleurs dans la même macro (qui gère toutes les cellules de la feuille qui déclenchent un événement quand on modifie leur contenu) et qui évidemment réagira différemment suivant la valeur.
Plutôt que de devoir passer par une cellule sur la feuille, ne pourrait-on pas faire en sorte que la variable "1" ou "0" soit gardée en mémoire dans la macro et ainsi être récupérée ?
Voici, très schématiquement, comment se présente la macro :
If Not Application.Intersect(Target, [UXvsUY2]) Is Nothing Then
.
.
.
If [UXvsUY2].Value = "" Then
[OnlyUX2].Value = 1
Else
[OnlyUX2].Value = 0
End If
.
.
.
End If
"UXvsUY2" étant la cellule qui quand elle est vide --> "1" et non vide --> "0"
"OnlyUX2" étant le nom de la cellule dans la feuille qui récupère les valeurs "1" ou "0".
Une autre cellule (en fait il y en a plusieurs) déclenchant une macro événementielle qui réagira différemment suivant la valeur de la cellule "OnlyUX2" :
If Not Application.Intersect(Target, [NbUXWanted2]) Is Nothing Then
.
.
.
If [OnlyUX2].Value = 0 Then
.
.
.
Else
.
.
.
End If
.
.
.
End If
Fatalement, il faut, je pense, se débrouiller pour que la valeur "1" ou "0" se trouve en début de procédure afin qu'elle soit récupérée lors d'un nouvel événement.