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

Appeler un formulaire, problème de macro?

6 réponses
Avatar
Greg
Bonjour à tous,

Il doit y avoir une erreur dans cette macro. Lorsque je clique en B8, le
userform1 apparaît bien. Par contre, quand je clique en C8, rien ne se passe
(alors que le userform2 est prêt...). Avez-vous une explication?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
UserForm1.Show
[C8].Select
If Target.Address <> "$C$8" Then Exit Sub
UserForm2.Show
[D8].Select
End Sub

Merci à vous


Greg

6 réponses

Avatar
michdenis
Bonjour Greg,

Tu dois afficher ton formulaire dans une fenêtre non modale.

Au lieu de cette commande :
UserForm1.Show
Utilise
UserForm1.Show 0



"Greg" a écrit dans le message de groupe de discussion :

Bonjour à tous,

Il doit y avoir une erreur dans cette macro. Lorsque je clique en B8, le
userform1 apparaît bien. Par contre, quand je clique en C8, rien ne se passe
(alors que le userform2 est prêt...). Avez-vous une explication?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
UserForm1.Show
[C8].Select
If Target.Address <> "$C$8" Then Exit Sub
UserForm2.Show
[D8].Select
End Sub

Merci à vous


Greg
Avatar
Greg
Bonjour MichDenis et merci pour ta réponse,

J'ai essayé mais rien ne se passe. Je ne dois pas bien m'y prendre. En fait,
j'essaye de faire fonctionner la fonction calendrier de Daniel
(http://www.cijoint.fr/cjlink.php?file=cj200903/cijlzpAY7F.xls) dans deux
cellules différentes, A1 et A2 par exemple.

Aussi, j'aurais aimé que le calendrier se déclenche au double-clic...

Pouvez-vous me donner un coup de main?

Merci

Greg

"michdenis" a écrit dans le message de
news:
Bonjour Greg,

Tu dois afficher ton formulaire dans une fenêtre non modale.

Au lieu de cette commande :
UserForm1.Show
Utilise
UserForm1.Show 0



"Greg" a écrit dans le message de groupe de discussion
:

Bonjour à tous,

Il doit y avoir une erreur dans cette macro. Lorsque je clique en B8, le
userform1 apparaît bien. Par contre, quand je clique en C8, rien ne se
passe
(alors que le userform2 est prêt...). Avez-vous une explication?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
UserForm1.Show
[C8].Select
If Target.Address <> "$C$8" Then Exit Sub
UserForm2.Show
[D8].Select
End Sub

Merci à vous


Greg



Avatar
Jc
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
UserForm1.Show
[C8].Select
If Target.Address <> "$C$8" Then Exit Sub
UserForm2.Show
[D8].Select
End Sub


Si je comprends bien ta macro, quand tu sélectionnes C8 tu passes d'abord à
l'instruction qui vérifie si c'est B8, et là tu sors...
Et en utilisant select case

select case Target.Address
case "$B$8"
UserForm1.Show
[C8].Select
case "$C$8"
UserForm2.Show
end select


pas essayé

_____________________________________________
A+
Jc
Avatar
Jacky
Bonjour,
Aussi, j'aurais aimé que le calendrier se déclenche au double-clic...


Le calendrier se déclenche sur un double clique sur A1 ou A2
'--------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Target, [a1:a2]) Is Nothing And Target.Count = 1 Then
Cancel = True
UserForm1.Show
End If
End Sub
'---------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj200911/cij47Lj1Re.xls
--
Salutations
JJ


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

Bonjour MichDenis et merci pour ta réponse,

J'ai essayé mais rien ne se passe. Je ne dois pas bien m'y prendre. En
fait, j'essaye de faire fonctionner la fonction calendrier de Daniel
(http://www.cijoint.fr/cjlink.php?file=cj200903/cijlzpAY7F.xls) dans deux
cellules différentes, A1 et A2 par exemple.

Aussi, j'aurais aimé que le calendrier se déclenche au double-clic...

Pouvez-vous me donner un coup de main?

Merci

Greg

"michdenis" a écrit dans le message de
news:
Bonjour Greg,

Tu dois afficher ton formulaire dans une fenêtre non modale.

Au lieu de cette commande :
UserForm1.Show
Utilise
UserForm1.Show 0



"Greg" a écrit dans le message de groupe de discussion
:

Bonjour à tous,

Il doit y avoir une erreur dans cette macro. Lorsque je clique en B8, le
userform1 apparaît bien. Par contre, quand je clique en C8, rien ne se
passe
(alors que le userform2 est prêt...). Avez-vous une explication?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
UserForm1.Show
[C8].Select
If Target.Address <> "$C$8" Then Exit Sub
UserForm2.Show
[D8].Select
End Sub

Merci à vous


Greg






Avatar
michdenis
Pour faire suite à ta question originale, utilise ceci :

Il y aurait probablement une façon d'écrire ce code plus efficacement
si tu expliquais ce que tu veux faire...

Le fichier que tu as publié ne correspond pas à ton message initial.
'------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
Application.EnableEvents = False
UserForm1.Show 0
[C8].Select
If ActiveCell.Address <> "$C$8" Then Exit Sub
UserForm2.Show 0
[D8].Select
Application.EnableEvents = True
End Sub
'------------------------------------



"Greg" a écrit dans le message de groupe de discussion :

Bonjour MichDenis et merci pour ta réponse,

J'ai essayé mais rien ne se passe. Je ne dois pas bien m'y prendre. En fait,
j'essaye de faire fonctionner la fonction calendrier de Daniel
(http://www.cijoint.fr/cjlink.php?file=cj200903/cijlzpAY7F.xls) dans deux
cellules différentes, A1 et A2 par exemple.

Aussi, j'aurais aimé que le calendrier se déclenche au double-clic...

Pouvez-vous me donner un coup de main?

Merci

Greg

"michdenis" a écrit dans le message de
news:
Bonjour Greg,

Tu dois afficher ton formulaire dans une fenêtre non modale.

Au lieu de cette commande :
UserForm1.Show
Utilise
UserForm1.Show 0



"Greg" a écrit dans le message de groupe de discussion
:

Bonjour à tous,

Il doit y avoir une erreur dans cette macro. Lorsque je clique en B8, le
userform1 apparaît bien. Par contre, quand je clique en C8, rien ne se
passe
(alors que le userform2 est prêt...). Avez-vous une explication?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
UserForm1.Show
[C8].Select
If Target.Address <> "$C$8" Then Exit Sub
UserForm2.Show
[D8].Select
End Sub

Merci à vous


Greg



Avatar
Greg
Bonsoir et merci pour vos réponses. C'est parfait!

A l'avenir, j'essaierai de mettre la démarche complère MichDenis ;-)

à plus

Greg


"michdenis" a écrit dans le message de
news:
Pour faire suite à ta question originale, utilise ceci :

Il y aurait probablement une façon d'écrire ce code plus efficacement
si tu expliquais ce que tu veux faire...

Le fichier que tu as publié ne correspond pas à ton message initial.
'------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
Application.EnableEvents = False
UserForm1.Show 0
[C8].Select
If ActiveCell.Address <> "$C$8" Then Exit Sub
UserForm2.Show 0
[D8].Select
Application.EnableEvents = True
End Sub
'------------------------------------



"Greg" a écrit dans le message de groupe de discussion
:

Bonjour MichDenis et merci pour ta réponse,

J'ai essayé mais rien ne se passe. Je ne dois pas bien m'y prendre. En
fait,
j'essaye de faire fonctionner la fonction calendrier de Daniel
(http://www.cijoint.fr/cjlink.php?file=cj200903/cijlzpAY7F.xls) dans deux
cellules différentes, A1 et A2 par exemple.

Aussi, j'aurais aimé que le calendrier se déclenche au double-clic...

Pouvez-vous me donner un coup de main?

Merci

Greg

"michdenis" a écrit dans le message de
news:
Bonjour Greg,

Tu dois afficher ton formulaire dans une fenêtre non modale.

Au lieu de cette commande :
UserForm1.Show
Utilise
UserForm1.Show 0



"Greg" a écrit dans le message de groupe de discussion
:

Bonjour à tous,

Il doit y avoir une erreur dans cette macro. Lorsque je clique en B8, le
userform1 apparaît bien. Par contre, quand je clique en C8, rien ne se
passe
(alors que le userform2 est prêt...). Avez-vous une explication?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
UserForm1.Show
[C8].Select
If Target.Address <> "$C$8" Then Exit Sub
UserForm2.Show
[D8].Select
End Sub

Merci à vous


Greg