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

macro double click à 2 lettres

7 réponses
Avatar
gilles
Macro DOUBLE CLICK =E0 2 lettres

Bonjour =E0 tous,
Je souhaite que la macro mette X ou A un colonne sur 2 (=20
A C E G en X et B D F. en A)
"ru-th" a r=E9pondu =E0 mon appel d=E9sesp=E9r=E9 en me proposant=20
un code qui fonctionne nickel, sauf que quand je re-
double_clique sur la cellule, =E7a n'enl=E8ve pas le X ou le A
Alors, j'ai fait appel =E0 mes faibles moyens de d=E9butant=20
qui m'ont donn=E9 ceci :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As=20
Range, Cancel As Boolean)
Cancel =3D True
If Target.Column Mod 2 =3D 0 Then
Target.Value =3D "X"
Else
Target.Value =3D "A"
ElseIf ActiveCell.Value =3D "X" Then ActiveCell.Value=20
=3D ""
ElseIf ActiveCell.Value =3D "A" Then ActiveCell.Value=20
=3D ""
End If
End Sub
Ouais, sauf que =E7a ne marche pas car VBA me renvoit :
ERREUR DE COMPILATION :
ELSE SANS IF
Alors si ruth ou un autre gourou voyait de quoidon qu'on=20
cause !!!... vous ne ferez que conforter mon admiration=20
sans borne !

7 réponses

Avatar
AV
Dans le module de la feuille :

Private Sub Worksheet_BeforeDoubleClick(ByVal zz As Range, Cancel As Boolean)
If zz.Value = "X" Or zz.Value = "A" Then
zz.Value = ""
Cancel = True
Exit Sub
End If
If zz.Column Mod 2 = 0 Then
zz.Value = "X"
Else: zz.Value = "A"
End If
Cancel = True
End Sub

AV
Avatar
ChrisV
Bonjour Gilles,

Non-testé... un truc du style

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Cancel = True
If Not IsEmpty(Target) Then
Target.Clear
Exit Sub
Else
If Target.Column Mod 2 = 0 Then
Target = "A"
Else
Target = "X"
End If
End If
End Sub


ChrisV


"gilles" a écrit dans le message de
news:2cbc801c469b3$8a6f7800$
Macro DOUBLE CLICK à 2 lettres

Bonjour à tous,
Je souhaite que la macro mette X ou A un colonne sur 2 (
A C E G en X et B D F. en A)
"ru-th" a répondu à mon appel désespéré en me proposant
un code qui fonctionne nickel, sauf que quand je re-
double_clique sur la cellule, ça n'enlève pas le X ou le A
Alors, j'ai fait appel à mes faibles moyens de débutant
qui m'ont donné ceci :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
If Target.Column Mod 2 = 0 Then
Target.Value = "X"
Else
Target.Value = "A"
ElseIf ActiveCell.Value = "X" Then ActiveCell.Value
= ""
ElseIf ActiveCell.Value = "A" Then ActiveCell.Value
= ""
End If
End Sub
Ouais, sauf que ça ne marche pas car VBA me renvoit :
ERREUR DE COMPILATION :
ELSE SANS IF
Alors si ruth ou un autre gourou voyait de quoidon qu'on
cause !!!... vous ne ferez que conforter mon admiration
sans borne !
Avatar
ChrisV
Re,

Si tu désires que la procédure ne soit valide que pour les colonnes de A à
F, et que le double-clic retrouve son comportement habituel au delà...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
If Target.Column < 8 Then
Cancel = True
If Not IsEmpty(Target) Then
Target.Clear
End
Else
If Target.Column Mod 2 = 0 Then
Target = "A"
Else
Target = "X"
End If
End If
End If
End Sub


ChrisV



"ChrisV" a écrit dans le message de
news:
Bonjour Gilles,

Non-testé... un truc du style

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Cancel = True
If Not IsEmpty(Target) Then
Target.Clear
Exit Sub
Else
If Target.Column Mod 2 = 0 Then
Target = "A"
Else
Target = "X"
End If
End If
End Sub


ChrisV


"gilles" a écrit dans le message de
news:2cbc801c469b3$8a6f7800$
Macro DOUBLE CLICK à 2 lettres

Bonjour à tous,
Je souhaite que la macro mette X ou A un colonne sur 2 (
A C E G en X et B D F. en A)
"ru-th" a répondu à mon appel désespéré en me proposant
un code qui fonctionne nickel, sauf que quand je re-
double_clique sur la cellule, ça n'enlève pas le X ou le A
Alors, j'ai fait appel à mes faibles moyens de débutant
qui m'ont donné ceci :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
If Target.Column Mod 2 = 0 Then
Target.Value = "X"
Else
Target.Value = "A"
ElseIf ActiveCell.Value = "X" Then ActiveCell.Value
= ""
ElseIf ActiveCell.Value = "A" Then ActiveCell.Value
= ""
End If
End Sub
Ouais, sauf que ça ne marche pas car VBA me renvoit :
ERREUR DE COMPILATION :
ELSE SANS IF
Alors si ruth ou un autre gourou voyait de quoidon qu'on
cause !!!... vous ne ferez que conforter mon admiration
sans borne !




Avatar
gilles
merci à ALAIN et CHRIS
Sans faire dans la flatterie, je rebondis sur un message
de CHARLY qui a dit BRAVO à l' ensemble des membres du
forum.
Je suis entièrement d'accord avec lui, car ce que
j'apprécie particulièrement , ce n'est pas tant que votre
compétence qui soit dit en passant laisse baba le nul en
VBA que je suis, mais la disponibilité et la rapidité ,
ainsi que l'impression qu'il y a toutre une équipe
derrière cet écran
Sincèrement CHAPEAU
on arrêt là les compliments et j'essaie d'appliquer et
d'apprendre.
à+ et merci

-----Message d'origine-----
Macro DOUBLE CLICK à 2 lettres

Bonjour à tous,
Je souhaite que la macro mette X ou A un colonne sur 2 (
A C E G en X et B D F. en A)
"ru-th" a répondu à mon appel désespéré en me proposant
un code qui fonctionne nickel, sauf que quand je re-
double_clique sur la cellule, ça n'enlève pas le X ou le
A

Alors, j'ai fait appel à mes faibles moyens de débutant
qui m'ont donné ceci :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
If Target.Column Mod 2 = 0 Then
Target.Value = "X"
Else
Target.Value = "A"
ElseIf ActiveCell.Value = "X" Then ActiveCell.Value
= ""
ElseIf ActiveCell.Value = "A" Then ActiveCell.Value
= ""
End If
End Sub
Ouais, sauf que ça ne marche pas car VBA me renvoit :
ERREUR DE COMPILATION :
ELSE SANS IF
Alors si ruth ou un autre gourou voyait de quoidon
qu'on

cause !!!... vous ne ferez que conforter mon admiration
sans borne !

.



Avatar
sabatier
bien dit, gilles ; tu rebondis mieux que le ballon dans les pieds de
trézéguet...
jps

"gilles" a écrit dans le message de
news:2ce7601c469d5$7b4f6d90$
merci à ALAIN et CHRIS
Sans faire dans la flatterie, je rebondis sur un message
de CHARLY qui a dit BRAVO à l' ensemble des membres du
forum.
Je suis entièrement d'accord avec lui, car ce que
j'apprécie particulièrement , ce n'est pas tant que votre
compétence qui soit dit en passant laisse baba le nul en
VBA que je suis, mais la disponibilité et la rapidité ,
ainsi que l'impression qu'il y a toutre une équipe
derrière cet écran
Sincèrement CHAPEAU
on arrêt là les compliments et j'essaie d'appliquer et
d'apprendre.
à+ et merci

-----Message d'origine-----
Macro DOUBLE CLICK à 2 lettres

Bonjour à tous,
Je souhaite que la macro mette X ou A un colonne sur 2 (
A C E G en X et B D F. en A)
"ru-th" a répondu à mon appel désespéré en me proposant
un code qui fonctionne nickel, sauf que quand je re-
double_clique sur la cellule, ça n'enlève pas le X ou le
A

Alors, j'ai fait appel à mes faibles moyens de débutant
qui m'ont donné ceci :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
If Target.Column Mod 2 = 0 Then
Target.Value = "X"
Else
Target.Value = "A"
ElseIf ActiveCell.Value = "X" Then ActiveCell.Value
= ""
ElseIf ActiveCell.Value = "A" Then ActiveCell.Value
= ""
End If
End Sub
Ouais, sauf que ça ne marche pas car VBA me renvoit :
ERREUR DE COMPILATION :
ELSE SANS IF
Alors si ruth ou un autre gourou voyait de quoidon
qu'on

cause !!!... vous ne ferez que conforter mon admiration
sans borne !

.



Avatar
gilles
retour d'info pour AV et CV
Les 2 codes fonctionnent bien sur mon fichier
Toutefois celui de Chris efface le format de cellule quand
un double clique pour effecer le X ou le A
(Target .clear ) je suppose?
Merci encore
à +
-----Message d'origine-----
Macro DOUBLE CLICK à 2 lettres

Bonjour à tous,
Je souhaite que la macro mette X ou A un colonne sur 2 (
A C E G en X et B D F. en A)
"ru-th" a répondu à mon appel désespéré en me proposant
un code qui fonctionne nickel, sauf que quand je re-
double_clique sur la cellule, ça n'enlève pas le X ou le A
Alors, j'ai fait appel à mes faibles moyens de débutant
qui m'ont donné ceci :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
If Target.Column Mod 2 = 0 Then
Target.Value = "X"
Else
Target.Value = "A"
ElseIf ActiveCell.Value = "X" Then ActiveCell.Value
= ""
ElseIf ActiveCell.Value = "A" Then ActiveCell.Value
= ""
End If
End Sub
Ouais, sauf que ça ne marche pas car VBA me renvoit :
ERREUR DE COMPILATION :
ELSE SANS IF
Alors si ruth ou un autre gourou voyait de quoidon qu'on
cause !!!... vous ne ferez que conforter mon admiration
sans borne !

.



Avatar
ChrisV
Re,

(Target .clear ) je suppose?


Tout à fait... si tu désires cependant conserver le format, remplacer par:

Target.ClearContents


ChrisV


"gilles" a écrit dans le message de
news:2d52101c46a51$b2bea3f0$
retour d'info pour AV et CV
Les 2 codes fonctionnent bien sur mon fichier
Toutefois celui de Chris efface le format de cellule quand
un double clique pour effecer le X ou le A
(Target .clear ) je suppose?
Merci encore
à +
-----Message d'origine-----
Macro DOUBLE CLICK à 2 lettres

Bonjour à tous,
Je souhaite que la macro mette X ou A un colonne sur 2 (
A C E G en X et B D F. en A)
"ru-th" a répondu à mon appel désespéré en me proposant
un code qui fonctionne nickel, sauf que quand je re-
double_clique sur la cellule, ça n'enlève pas le X ou le A
Alors, j'ai fait appel à mes faibles moyens de débutant
qui m'ont donné ceci :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As
Range, Cancel As Boolean)
Cancel = True
If Target.Column Mod 2 = 0 Then
Target.Value = "X"
Else
Target.Value = "A"
ElseIf ActiveCell.Value = "X" Then ActiveCell.Value
= ""
ElseIf ActiveCell.Value = "A" Then ActiveCell.Value
= ""
End If
End Sub
Ouais, sauf que ça ne marche pas car VBA me renvoit :
ERREUR DE COMPILATION :
ELSE SANS IF
Alors si ruth ou un autre gourou voyait de quoidon qu'on
cause !!!... vous ne ferez que conforter mon admiration
sans borne !

.