OVH Cloud OVH Cloud

Faire apparaître un userforme avec un clic

11 réponses
Avatar
Guy72
Bonjour à tous
A la place de faire apparaître un UserForm avec un bouton, je voudrais le
faire avec le premier clic effectuer dans la feuille.
Possible ?
Cordialement
Guy

10 réponses

1 2
Avatar
RGI
Bonjour
mettre
dans le code de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "coucou"
'ou lancement de la macro
End Sub

salutations

RGI

Bonjour à tous
A la place de faire apparaître un UserForm avec un bouton, je voudrais le
faire avec le premier clic effectuer dans la feuille.
Possible ?
Cordialement
Guy





Avatar
Guy72
Bonjour RGI et merci.
Cordialement
Guy

"RGI" a écrit dans le message de
news: uaLzoMO%
Bonjour
mettre
dans le code de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "coucou"
'ou lancement de la macro
End Sub

salutations

RGI

Bonjour à tous
A la place de faire apparaître un UserForm avec un bouton, je voudrais le
faire avec le premier clic effectuer dans la feuille.
Possible ?
Cordialement
Guy






Avatar
Guy72
Salut RGI
J'ai quand même un problème,c je ne peut pas travailler sur ma feuille avec
le chrono affiché.
Cordialement
Guy

"RGI" a écrit dans le message de
news: uaLzoMO%
Bonjour
mettre
dans le code de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "coucou"
'ou lancement de la macro
End Sub

salutations

RGI

Bonjour à tous
A la place de faire apparaître un UserForm avec un bouton, je voudrais le
faire avec le premier clic effectuer dans la feuille.
Possible ?
Cordialement
Guy






Avatar
papou
Bonjour
Utilise la propriété modal et tu la définis comme vbmodeless :
UserForm1.Show vbModeless

PS: à partir d'Excel 2000 seulement je crois.

Cordialement
Pascal

"Guy72" a écrit dans le message de news:
eEA1lvO%
Salut RGI
J'ai quand même un problème,c je ne peut pas travailler sur ma feuille
avec le chrono affiché.
Cordialement
Guy

"RGI" a écrit dans le message
de news: uaLzoMO%
Bonjour
mettre
dans le code de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "coucou"
'ou lancement de la macro
End Sub

salutations

RGI

Bonjour à tous
A la place de faire apparaître un UserForm avec un bouton, je voudrais
le faire avec le premier clic effectuer dans la feuille.
Possible ?
Cordialement
Guy










Avatar
Guy72
Bonjour papou
Cela ne change rien, je peux pas travailler ou supprimer pendant que le
UserForm est présent.
Simplement faire des copier/coller ou, supprimer avec la gomme.
Mais je ne peut faire aucune fonctions avec le clavier.
Cordialement
Guy

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
%230A67JP%
Bonjour
Utilise la propriété modal et tu la définis comme vbmodeless :
UserForm1.Show vbModeless

PS: à partir d'Excel 2000 seulement je crois.

Cordialement
Pascal

"Guy72" a écrit dans le message de news:
eEA1lvO%
Salut RGI
J'ai quand même un problème,c je ne peut pas travailler sur ma feuille
avec le chrono affiché.
Cordialement
Guy

"RGI" a écrit dans le message
de news: uaLzoMO%
Bonjour
mettre
dans le code de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "coucou"
'ou lancement de la macro
End Sub

salutations

RGI

Bonjour à tous
A la place de faire apparaître un UserForm avec un bouton, je voudrais
le faire avec le premier clic effectuer dans la feuille.
Possible ?
Cordialement
Guy














Avatar
Michel Gaboly
Bonsoir,

Peu de choses sont impossibles ;-))

Il suffit d'ajouter un test à la Sub SelectionChange

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Me.Evaluate("Clic") Then
UserForm1.Show
ThisWorkbook.Names.Add "Clic", True
Else
' Pour un éventuel traitement après le 1er clic
End If
End Sub

Pour que le test fonctionne, il faut aller dans Insertion, Définir un n om... et créer le nom "Clic" associé à "úUX"
sans guillemet.

Une fois que le UserForm a été affiché, "Clic" passe de FAUX à VR AI

On ajoute ce code dans ThisWorkbook,

Private Sub Workbook_Open()
ThisWorkbook.Names.Add "Clic", False
End Sub

et à chaque ouverture, "Clic" est remis à False.

Le premier clic dans la feuille concernée et lui seul affiche le UserFo rm



Conclusion,(si j'ai bien compris) .
Il est impossible de travailler sur un feuille Excel si j'appel un
UserForm avec un seul clic ?
Cordialement
Guy



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
papou
Re
Le problème c'est l'utilisation du worksheet_selectionchange.
A mon avis il serait préférable d'utiliser l'évènement Worksheet_Activate de
la feuille ou mieux l'évènement Workbook_SheetActivate(ByVal Sh As Object)
Donc avec quelque chose comme ça à adapter bien sûr :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Feuil1" Then
Load UserForm1
UserForm1.Show vbModeless
End If
End Sub

Cordialement
Pascal


"Guy72" a écrit dans le message de news:
uTUnOtP%
Bonjour papou
Cela ne change rien, je peux pas travailler ou supprimer pendant que le
UserForm est présent.
Simplement faire des copier/coller ou, supprimer avec la gomme.
Mais je ne peut faire aucune fonctions avec le clavier.
Cordialement
Guy

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
%230A67JP%
Bonjour
Utilise la propriété modal et tu la définis comme vbmodeless :
UserForm1.Show vbModeless

PS: à partir d'Excel 2000 seulement je crois.

Cordialement
Pascal

"Guy72" a écrit dans le message de news:
eEA1lvO%
Salut RGI
J'ai quand même un problème,c je ne peut pas travailler sur ma feuille
avec le chrono affiché.
Cordialement
Guy

"RGI" a écrit dans le message
de news: uaLzoMO%
Bonjour
mettre
dans le code de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "coucou"
'ou lancement de la macro
End Sub

salutations

RGI

Bonjour à tous
A la place de faire apparaître un UserForm avec un bouton, je voudrais
le faire avec le premier clic effectuer dans la feuille.
Possible ?
Cordialement
Guy


















Avatar
RGI
t'as vu il y a des Génies ici ;-)

@+++
Avatar
RGI
Merci Michel

ça marche super

Salutations

RGI
Avatar
Guy72
Salut Michel
Comme dit RGI....
ça marche super
Merci à tout les deux
Cordialement
Guy


"Michel Gaboly" a écrit dans le message de news:
ePDsWLR%
Bonsoir,

Peu de choses sont impossibles ;-))

Il suffit d'ajouter un test à la Sub SelectionChange

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Me.Evaluate("Clic") Then
UserForm1.Show
ThisWorkbook.Names.Add "Clic", True
Else
' Pour un éventuel traitement après le 1er clic
End If
End Sub

Pour que le test fonctionne, il faut aller dans Insertion, Définir un nom...
et créer le nom "Clic" associé à "úUX"
sans guillemet.

Une fois que le UserForm a été affiché, "Clic" passe de FAUX à VRAI

On ajoute ce code dans ThisWorkbook,

Private Sub Workbook_Open()
ThisWorkbook.Names.Add "Clic", False
End Sub

et à chaque ouverture, "Clic" est remis à False.

Le premier clic dans la feuille concernée et lui seul affiche le UserForm



Conclusion,(si j'ai bien compris) .
Il est impossible de travailler sur un feuille Excel si j'appel un
UserForm avec un seul clic ?
Cordialement
Guy



--
Cordialement,

Michel Gaboly
www.gaboly.com

1 2