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

code double clic

9 réponses
Avatar
Greg
Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le code
suivant, seul un double clic en colonne A active le formulaire. Comment
l'activer pour les 5 premières colonnes du tableau? Pour un choix de
cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous

9 réponses

Avatar
Greg
Second problème avec ce code: si je réalise un double-clic dans une cellule
non-vide, un message d'erreur apprait. Comment remédier?

Merci pour votre aide.

Greg

"Greg" a écrit dans le message de
news:
Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le code
suivant, seul un double clic en colonne A active le formulaire. Comment
l'activer pour les 5 premières colonnes du tableau? Pour un choix de
cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous

Avatar
Patrick BASTARD
Bonsoir, "Greg"

Vous nous dites " If Target.Column = 1 " pour la première colonne.
Avant de poster pour demander pour les 5 premières colonnes, avez-vous
essayé " If Target.Column < 6 " ?
Ne prenez surtout pas cette remarque comme un reproche, c'est juste pour
vous dire qu'on ne risque rien à tester par soi-même, et que même c'est
ainsi qu'on apprend le mieux.

--
Bien ,

Patrick




Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le code
suivant, seul un double clic en colonne A active le formulaire. Comment
l'activer pour les 5 premières colonnes du tableau? Pour un choix de
cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous

Avatar
Daniel.C
Bonsoir.
Pour les 5 premières colonnes, mets :

If Target.Column <= 5 Then

Pour une plage de cellules :

If not intersect(target,[A10:G50]) is nothing then

Pour certaines cellules :

If Not Intersect(Target, Range("A10, B20, C30")) Is Nothing Then

Cordialement.
Daniel

Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le code
suivant, seul un double clic en colonne A active le formulaire. Comment
l'activer pour les 5 premières colonnes du tableau? Pour un choix de
cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous
Avatar
Greg
Merci Patrick,

J'avais testé "1 to 5", "1:5" ... et après je ne voyez pas, d'où l'appel de
détresse. Après, tout ne s'invente pas ;-)

Je reste coincé également vis à vis de mes cellules non vides qui
n'acceptent pas le code... sauf à supprimer le contenu de la cellule
auparavant, ce que je souhaite éviter.

Greg


"Patrick BASTARD" a écrit dans le
message de news:%
Bonsoir, "Greg"

Vous nous dites " If Target.Column = 1 " pour la première colonne.
Avant de poster pour demander pour les 5 premières colonnes, avez-vous
essayé " If Target.Column < 6 " ?
Ne prenez surtout pas cette remarque comme un reproche, c'est juste pour
vous dire qu'on ne risque rien à tester par soi-même, et que même c'est
ainsi qu'on apprend le mieux.

--
Bien ,

Patrick




Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le
code suivant, seul un double clic en colonne A active le formulaire.
Comment l'activer pour les 5 premières colonnes du tableau? Pour un choix
de cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous




Avatar
Greg
Merci Daniel!

Je mets ça dans mon petit dico personnel... Faut bien que je structure tout
ce que j'apprends ici si je ne veux pas rester (trop) dépendant...

à bientôt

Greg


"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Pour les 5 premières colonnes, mets :

If Target.Column <= 5 Then

Pour une plage de cellules :

If not intersect(target,[A10:G50]) is nothing then

Pour certaines cellules :

If Not Intersect(Target, Range("A10, B20, C30")) Is Nothing Then

Cordialement.
Daniel

Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le
code suivant, seul un double clic en colonne A active le formulaire.
Comment l'activer pour les 5 premières colonnes du tableau? Pour un choix
de cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous




Avatar
Patrick BASTARD
Re, "Greg"

Je reste coincé également vis à vis de mes cellules non vides qui
n'acceptent pas le code... sauf à supprimer le contenu de la cellule
auparavant, ce que je souhaite éviter.



Je ne suis pas parvenu à reproduire le problème.
Peut-être une autre partie de code que vous auriez omis de nous communiquer
?

--
Bien ,

Patrick


Greg


"Patrick BASTARD" a écrit dans le
message de news:%
Bonsoir, "Greg"

Vous nous dites " If Target.Column = 1 " pour la première colonne.
Avant de poster pour demander pour les 5 premières colonnes, avez-vous
essayé " If Target.Column < 6 " ?
Ne prenez surtout pas cette remarque comme un reproche, c'est juste pour
vous dire qu'on ne risque rien à tester par soi-même, et que même c'est
ainsi qu'on apprend le mieux.

--
Bien ,

Patrick




Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le
code suivant, seul un double clic en colonne A active le formulaire.
Comment l'activer pour les 5 premières colonnes du tableau? Pour un
choix de cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous







Avatar
Greg
J'ai résolu une partie de mon problème:

En ajoutant la ligne "Selection.ClearContents", j'arrive à faire fonctionner
la macro: le formulaire s'ouvre. Peut-être devrais-je spécifier que suite au
remplissage du formulaire, le contenu de la cellule sera modifié.

Par contre, le fichier bugue régulièrement: quand je double-clique sur
certaines cellules, tout se bloque et le fichier ne répond plus. Je ne
comprends pas ce qui se passe.... Même sans ne rien ajouter. Je suis alors
obligé de passer par le gestionnaire des tâches pour fermer Excel. (???)

Il doit y avoir qqchose qui m'échappe.

Si l'un d'entre vous avait la gentillesse de regarder, voici le fichier:
http://cjoint.com/?diaJ55c0wF

Pour déclencher le bug, je clique par exemple en B62, feuille "emploi du
temps détaillé". Après, je ne peux plus rien faire.

Merci à vous si vous avez un peu de temps à me consacrer.

Greg






"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Pour les 5 premières colonnes, mets :

If Target.Column <= 5 Then

Pour une plage de cellules :

If not intersect(target,[A10:G50]) is nothing then

Pour certaines cellules :

If Not Intersect(Target, Range("A10, B20, C30")) Is Nothing Then

Cordialement.
Daniel

Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le
code suivant, seul un double clic en colonne A active le formulaire.
Comment l'activer pour les 5 premières colonnes du tableau? Pour un choix
de cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous




Avatar
Patrick BASTARD
Re, "Greg"

Il semble qu'en cliquant sur B62, votre usf "s'affiche" en dehors de
l'écran, ce qui fait qu'Excel attend soit un choix, soit une fermeture de
cet usf dont la propriété ShowModal a été définie à True.
Règlez la propriété Startup position à 2-CenterScreen, par exemple, et le
bug disparait.
Concernant vos fusions de cellule, je rejoins Steph pour vous les
déconseiller formellement. Si cette fonctionnalité est bien pratique pour
des documents de présentation, elle est à proscrire sur les feuilles sur
lesquelles des actions sont susceptibles d'être exécutées.
Double cliquez sur B17 pour vous en convaincre, défusionnez les cellules et
recommencez. Ca va mieux, non ?

--
Bien ,

Patrick



J'ai résolu une partie de mon problème:

En ajoutant la ligne "Selection.ClearContents", j'arrive à faire
fonctionner la macro: le formulaire s'ouvre. Peut-être devrais-je
spécifier que suite au remplissage du formulaire, le contenu de la cellule
sera modifié.

Par contre, le fichier bugue régulièrement: quand je double-clique sur
certaines cellules, tout se bloque et le fichier ne répond plus. Je ne
comprends pas ce qui se passe.... Même sans ne rien ajouter. Je suis alors
obligé de passer par le gestionnaire des tâches pour fermer Excel. (???)

Il doit y avoir qqchose qui m'échappe.

Si l'un d'entre vous avait la gentillesse de regarder, voici le fichier:
http://cjoint.com/?diaJ55c0wF

Pour déclencher le bug, je clique par exemple en B62, feuille "emploi du
temps détaillé". Après, je ne peux plus rien faire.

Merci à vous si vous avez un peu de temps à me consacrer.

Greg






"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Pour les 5 premières colonnes, mets :

If Target.Column <= 5 Then

Pour une plage de cellules :

If not intersect(target,[A10:G50]) is nothing then

Pour certaines cellules :

If Not Intersect(Target, Range("A10, B20, C30")) Is Nothing Then

Cordialement.
Daniel

Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le
code suivant, seul un double clic en colonne A active le formulaire.
Comment l'activer pour les 5 premières colonnes du tableau? Pour un
choix de cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous








Avatar
Greg
Bonjour Patrick et merci beaucoup!

Je vais partir travailler le coeur plus léger. Concernant les fusions de
cellules, je ne suis toujours pas convaincu: après avoir défusionné B17, que
dois-je recommencer? Car à vrai dire, pour l'instant, tout va bien...

- Il n'y aura pas de calcul particulier dans cette feuille. Les actions qui
sont susceptibles d'y être exécutées (cf. macro structure, un peu rustique
car j'y ai mis les mains...) semblent fonctionner et stables.
- C'est effectivement un document de présentation


Encore merci pour cette épine du pied!

à bientôt

Greg

"Patrick BASTARD" a écrit dans le
message de news:%
Re, "Greg"

Il semble qu'en cliquant sur B62, votre usf "s'affiche" en dehors de
l'écran, ce qui fait qu'Excel attend soit un choix, soit une fermeture de
cet usf dont la propriété ShowModal a été définie à True.
Règlez la propriété Startup position à 2-CenterScreen, par exemple, et le
bug disparait.
Concernant vos fusions de cellule, je rejoins Steph pour vous les
déconseiller formellement. Si cette fonctionnalité est bien pratique pour
des documents de présentation, elle est à proscrire sur les feuilles sur
lesquelles des actions sont susceptibles d'être exécutées.
Double cliquez sur B17 pour vous en convaincre, défusionnez les cellules
et recommencez. Ca va mieux, non ?

--
Bien ,

Patrick



J'ai résolu une partie de mon problème:

En ajoutant la ligne "Selection.ClearContents", j'arrive à faire
fonctionner la macro: le formulaire s'ouvre. Peut-être devrais-je
spécifier que suite au remplissage du formulaire, le contenu de la
cellule sera modifié.

Par contre, le fichier bugue régulièrement: quand je double-clique sur
certaines cellules, tout se bloque et le fichier ne répond plus. Je ne
comprends pas ce qui se passe.... Même sans ne rien ajouter. Je suis
alors obligé de passer par le gestionnaire des tâches pour fermer Excel.
(???)

Il doit y avoir qqchose qui m'échappe.

Si l'un d'entre vous avait la gentillesse de regarder, voici le fichier:
http://cjoint.com/?diaJ55c0wF

Pour déclencher le bug, je clique par exemple en B62, feuille "emploi du
temps détaillé". Après, je ne peux plus rien faire.

Merci à vous si vous avez un peu de temps à me consacrer.

Greg






"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Pour les 5 premières colonnes, mets :

If Target.Column <= 5 Then

Pour une plage de cellules :

If not intersect(target,[A10:G50]) is nothing then

Pour certaines cellules :

If Not Intersect(Target, Range("A10, B20, C30")) Is Nothing Then

Cordialement.
Daniel

Bonsoir à tous,

Un jeu d'enfant pour vous, je pense... Une galère pour moi... Avec le
code suivant, seul un double clic en colonne A active le formulaire.
Comment l'activer pour les 5 premières colonnes du tableau? Pour un
choix de cellules? Pour tout le tableau?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target.Column = 1 Then
UserForm1.Show
End If
Cancel = True
End Sub


Merci à vous