Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Condition : si un formulaire est activé, alors...

4 réponses
Avatar
Coriandre
Bonjour,

Comment exprime-t-on par macro :
si le formulaire (userform) "zaza" est activé, alors... (par exemple, alors
la valeur de la cellule A1 est "oui") ?

Merci de votre aide.

--
Coriandre

4 réponses

Avatar
MichDenis
Il y a un événement "Activate" du Userform,

et tu inscris :
Private Sub UserForm_Activate()
Worksheets("NomDeLaFeuille").range("A1") = "oui"
End Sub

Private Sub UserForm_Deactivate()
Worksheets("NomDeLaFeuille").range("A1") = "non"
End Sub



"Coriandre" a écrit dans le message de news:

Bonjour,

Comment exprime-t-on par macro :
si le formulaire (userform) "zaza" est activé, alors... (par exemple, alors
la valeur de la cellule A1 est "oui") ?

Merci de votre aide.

--
Coriandre
Avatar
Coriandre
Merci.

Mais si je ne veux déclencher l'événement (celulle A 1 = "oui") que lorsque
je le veux, par exemple en cliquant sur un bouton d'un autre formulaire, et
non systématiquement à l'ouverture du formulaire ?

--
Coriandre

"MichDenis" a écrit dans le message de
news:
Il y a un événement "Activate" du Userform,

et tu inscris :
Private Sub UserForm_Activate()
Worksheets("NomDeLaFeuille").range("A1") = "oui"
End Sub

Private Sub UserForm_Deactivate()
Worksheets("NomDeLaFeuille").range("A1") = "non"
End Sub



"Coriandre" a écrit dans le message de
news:

Bonjour,

Comment exprime-t-on par macro :
si le formulaire (userform) "zaza" est activé, alors... (par exemple,
alors
la valeur de la cellule A1 est "oui") ?

Merci de votre aide.

--
Coriandre





Avatar
MichDenis
Je n'ai pas vraiment saisi ton besoin ....!

Si tu affiches 2 formulaires en utilisant la commande :
Userform1.Show 0 et Userform2.Show 0

Si tu passes d'un formulaire à l'autre, la cellule A1 réagira.
Cependant, si tu passes du formulaire à la feuille de calcul
la cellule A1 ne réagira pas car les formulaires sont affichés
dans une fenêtre non modale (le 0 à la fin des commandes)

Si tu veux que la cellule A1 réagisse lorsque tu cliques dans une cellule
de la feuille de calcul, il te faut utiliser un événement du classeur et non
du formulaire.

à titre d'exemple, l'événement du Thisworkbook :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Il n'y a pas de miracle... tu dois composer avec les événements du formulaire, du module feuille
ou du module ThisWorkbook.




"Coriandre" a écrit dans le message de news:
%
Merci.

Mais si je ne veux déclencher l'événement (celulle A 1 = "oui") que lorsque
je le veux, par exemple en cliquant sur un bouton d'un autre formulaire, et
non systématiquement à l'ouverture du formulaire ?

--
Coriandre

"MichDenis" a écrit dans le message de
news:
Il y a un événement "Activate" du Userform,

et tu inscris :
Private Sub UserForm_Activate()
Worksheets("NomDeLaFeuille").range("A1") = "oui"
End Sub

Private Sub UserForm_Deactivate()
Worksheets("NomDeLaFeuille").range("A1") = "non"
End Sub



"Coriandre" a écrit dans le message de
news:

Bonjour,

Comment exprime-t-on par macro :
si le formulaire (userform) "zaza" est activé, alors... (par exemple,
alors
la valeur de la cellule A1 est "oui") ?

Merci de votre aide.

--
Coriandre





Avatar
Coriandre
"MichDenis" a écrit dans le message de
news:
Je n'ai pas vraiment saisi ton besoin ....!


Par exemple, je voudrais qu'en cliquant sur un bouton (CommandButton) créé
dans le formulaire "zaza", la valeur de la cellule A1 de la feuille 1 soit
"coucou", si et seulement si l'autre formulaire ("toto") est activé.

On peut peut-être le faire en créant artificiellement un "événement" (je ne
sais pas quel terme employer) dans le code du formulaire "toto" à son
ouverture, ex :
toto = true

puis en le déclenchant dans le code du bouton du formulaire "zaza" selon :
If toto = true, then
Range("A1") = "coucou"
End If

Mais je voulais savoir s'il existait tout simplement une formule qui dirait:
si un formulaire est activé, alors A1 = "coucou"
si la cellule A2 est = "salut", alors la cellule A1 = "coucou".
ou encore :
si la cellule A 2 est verte, alors la cellule A1 = "coucou".

Quelque chose du genre :
If IsOuvert toto Then

Apparemment non...

--
Coriandre