OVH Cloud OVH Cloud

touche enter

14 réponses
Avatar
Michel HOLDERITH
Bonjour tout le monde.
J'ai une macro qui execute un code lorsque je double click dans une cellule.
elle me met un symbole a l'interieur, puis je fais un petit sendkey
"{enter}" pour que je ne me retrouve pas dans la cellule.
tout fonctionne, sauf que j'aurais bien voulu valider ma cellule autrement
que par un sendkey.
quel est le code de l'icone de validation en haut a gauche de la barre de
formule ?
car si je tape un symbole dans la barre du menu puis je click sur le petit
"v" qui est vert je valide ma cellule tout en restant sur cette meme
cellule...

Une idee ?

D'avance merci
@+
Michel.

10 réponses

1 2
Avatar
AV
Plutôt que Sendkey :
Ex :
Private Sub Worksheet_BeforeDoubleClick(ByVal zz As Range, Cancel As Boolean)
zz = "Z"
Cancel = True
End Sub

AV
Avatar
Michel HOLDERITH
merci je vais tester ca....

"AV" wrote in message
news:OJ%
Plutôt que Sendkey :
Ex :
Private Sub Worksheet_BeforeDoubleClick(ByVal zz As Range, Cancel As
Boolean)

zz = "Z"
Cancel = True
End Sub

AV




Avatar
Vincent¨.
Sinon, avec le sendkeys :
^{ENTER} simule le Ctrl Entrée qui te fait rester dans ta
cellule avant d'en sortir (attention à son utilisation sur
des plages de cellules quand même)

-----Message d'origine-----
merci je vais tester ca....

"AV" wrote in message
news:OJ%
Plutôt que Sendkey :
Ex :
Private Sub Worksheet_BeforeDoubleClick(ByVal zz As
Range, Cancel As


Boolean)
zz = "Z"
Cancel = True
End Sub

AV





.




Avatar
Michel HOLDERITH
j'avais oublie de dire que je protege ma feuille et donc lorsque j'effectue
mes sendkey je deprotege ma feuiile puis sendkey puis je reprotege me
feuille.
un bou d'exemple :
ActiveSheet.Unprotect
If Range("AH" & ActiveCell.Row).Value = "" Then
If Range("AJ" & ActiveCell.Row).Value = "" Then
If Range("AL" & ActiveCell.Row).Value = "" Then
If Range("AN" & ActiveCell.Row).Value = "" Then
SendKeys "û", True
SendKeys "{ENTER}", True
Else
SendKeys "{ENTER}", True
End If
Else
SendKeys "{ENTER}", True
End If
.............
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
end sub


dans ce cas vos 2 solutions ne marche pas....
il me met bien mon caractere et le enter mais j'ai toujours un message qui
me dit que la feuille est protegee.... si je met applicationdisplayúlse
c'est pire puisque la j'ai mon caractere avec le signe plus et l'adresse de
la cellule ou je me trouve = û+AH5
Une autre piste ?
Merci
@+
Michel.


"Vincent¨." wrote in message
news:0ac501c39cab$1c2763b0$
Sinon, avec le sendkeys :
^{ENTER} simule le Ctrl Entrée qui te fait rester dans ta
cellule avant d'en sortir (attention à son utilisation sur
des plages de cellules quand même)

-----Message d'origine-----
merci je vais tester ca....

"AV" wrote in message
news:OJ%
Plutôt que Sendkey :
Ex :
Private Sub Worksheet_BeforeDoubleClick(ByVal zz As
Range, Cancel As


Boolean)
zz = "Z"
Cancel = True
End Sub

AV





.




Avatar
Salut !
Essaie en remplaçant :
SendKeys "û", True
par :
SendKeys "^u", true
et :
SendKeys "{ENTER}", True
par :
SendKeys "^{ENTER}", True
partout dans ton code.
Et tu protèges sans code... il doit bien y a voir une
raison à ça, mais je serai curieux de la connaître cette
raison !
Bonne journée !

-----Message d'origine-----
j'avais oublie de dire que je protege ma feuille et donc
lorsque j'effectue

mes sendkey je deprotege ma feuiile puis sendkey puis je
reprotege me

feuille.
un bou d'exemple :
ActiveSheet.Unprotect
If Range("AH" & ActiveCell.Row).Value = "" Then
If Range("AJ" & ActiveCell.Row).Value = "" Then
If Range("AL" & ActiveCell.Row).Value = "" Then
If Range("AN" & ActiveCell.Row).Value = ""
Then

SendKeys "û", True
SendKeys "{ENTER}", True
Else
SendKeys "{ENTER}", True
End If
Else
SendKeys "{ENTER}", True
End If
..............
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,

Scenarios:=True
end sub


dans ce cas vos 2 solutions ne marche pas....
il me met bien mon caractere et le enter mais j'ai
toujours un message qui

me dit que la feuille est protegee.... si je met
applicationdisplayúlse

c'est pire puisque la j'ai mon caractere avec le signe
plus et l'adresse de

la cellule ou je me trouve = û+AH5
Une autre piste ?
Merci
@+
Michel.


"Vincent¨." wrote in
message

news:0ac501c39cab$1c2763b0$
Sinon, avec le sendkeys :
^{ENTER} simule le Ctrl Entrée qui te fait rester dans ta
cellule avant d'en sortir (attention à son utilisation sur
des plages de cellules quand même)

-----Message d'origine-----
merci je vais tester ca....

"AV" wrote in message
news:OJ%
Plutôt que Sendkey :
Ex :
Private Sub Worksheet_BeforeDoubleClick(ByVal zz As
Range, Cancel As


Boolean)
zz = "Z"
Cancel = True
End Sub

AV





.




.





Avatar
Michel HOLDERITH
desole ca marche encore moins bien car je n'ai meme pas de caractere dans la
cellule.... :(
Pour repondre a ta question je suis en phase de test, et donc je re-ajuste
2-3 petits truc comme mon petit exemple....
ce n'ai pas bien grave, mais je trouve que c'est plus chouette si la cellule
ou l'on double-click reste selectionnee et non la cellule en dessous....
Merci quand meme.... si tu vois autre chose....
@+
Michel.

wrote in message
news:097201c39d35$759b85e0$
Salut !
Essaie en remplaçant :
SendKeys "û", True
par :
SendKeys "^u", true
et :
SendKeys "{ENTER}", True
par :
SendKeys "^{ENTER}", True
partout dans ton code.
Et tu protèges sans code... il doit bien y a voir une
raison à ça, mais je serai curieux de la connaître cette
raison !
Bonne journée !

-----Message d'origine-----
j'avais oublie de dire que je protege ma feuille et donc
lorsque j'effectue

mes sendkey je deprotege ma feuiile puis sendkey puis je
reprotege me

feuille.
un bou d'exemple :
ActiveSheet.Unprotect
If Range("AH" & ActiveCell.Row).Value = "" Then
If Range("AJ" & ActiveCell.Row).Value = "" Then
If Range("AL" & ActiveCell.Row).Value = "" Then
If Range("AN" & ActiveCell.Row).Value = ""
Then

SendKeys "û", True
SendKeys "{ENTER}", True
Else
SendKeys "{ENTER}", True
End If
Else
SendKeys "{ENTER}", True
End If
..............
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True,

Scenarios:=True
end sub


dans ce cas vos 2 solutions ne marche pas....
il me met bien mon caractere et le enter mais j'ai
toujours un message qui

me dit que la feuille est protegee.... si je met
applicationdisplayúlse

c'est pire puisque la j'ai mon caractere avec le signe
plus et l'adresse de

la cellule ou je me trouve = û+AH5
Une autre piste ?
Merci
@+
Michel.


"Vincent¨." wrote in
message

news:0ac501c39cab$1c2763b0$
Sinon, avec le sendkeys :
^{ENTER} simule le Ctrl Entrée qui te fait rester dans ta
cellule avant d'en sortir (attention à son utilisation sur
des plages de cellules quand même)

-----Message d'origine-----
merci je vais tester ca....

"AV" wrote in message
news:OJ%
Plutôt que Sendkey :
Ex :
Private Sub Worksheet_BeforeDoubleClick(ByVal zz As
Range, Cancel As


Boolean)
zz = "Z"
Cancel = True
End Sub

AV





.




.





Avatar
AV
Et si tu te repenchais un peu plus sérieusement sur l'évènement
"BeforeDoubleClick" et Cancel=true ?
Du style :
Private Sub Worksheet_BeforeDoubleClick(ByVal zz As Range, Cancel As Boolean)
ActiveSheet.Unprotect
zz = "z"
ActiveSheet.Protect
Cancel = True
End Sub

AV
Avatar
Michel HOLDERITH
t'as raison..............
mais une chose pourquoi si je met mon code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
'Debut
ActiveSheet.Unprotect
ActiveCell.Value = "û"
Cancel = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

ca marche et pas dans un module ?
En fait j'ai une 10aine de feuilles et il faudrait utiliser toujours la meme
macro, je voudrais eviter de copier/coller ma macro directement dans toutes
les feuilles, et les faire toutes pointer faire une meme et seule macro.
Est-ce possible ?
Si oui comment ? car en fait je me debrouille plutot pas mal (a mon niveau)
sauf que je n'ai jamais rien compris au passage de valeurs, genre comme
ci-dessus : (ByVal Target As Range, Cancel As Boolean)
j'ai toujours mis en place des variables public pour contourner ce genre de
probleme.... je sais... je sais ce n'est pas bien, sauf que je n'ai jamais
eu trop le temps pour regarder ca, ce serait peut-etre le moment ? :)
Si tu pouvais me dire si il y a une solution a m'on petit probleme ca serait
sympa de ta part...
@+
Michel.


"AV" wrote in message
news:bnlec8$h94$
Et si tu te repenchais un peu plus sérieusement sur l'évènement
"BeforeDoubleClick" et Cancel=true ?
Du style :
Private Sub Worksheet_BeforeDoubleClick(ByVal zz As Range, Cancel As
Boolean)

ActiveSheet.Unprotect
zz = "z"
ActiveSheet.Protect
Cancel = True
End Sub

AV




Avatar
AV
ca marche et pas dans un module ?


PArceque c'est une proc évènementielle au niveau de la feuille !

En fait j'ai une 10aine de feuilles et il faudrait utiliser toujours la meme
macro, je voudrais eviter de copier/coller ma macro directement dans toutes
les feuilles,


Copier/coller le code sur une dizaine de feuilles ça devrait pas être
insurmontable !

AV

Avatar
Michel HOLDERITH
Ok
Merci de ta patience.....
@+
Michel.

"AV" wrote in message
news:bnlhtf$pme$
ca marche et pas dans un module ?


PArceque c'est une proc évènementielle au niveau de la feuille !

En fait j'ai une 10aine de feuilles et il faudrait utiliser toujours la
meme


macro, je voudrais eviter de copier/coller ma macro directement dans
toutes


les feuilles,


Copier/coller le code sur une dizaine de feuilles ça devrait pas être
insurmontable !

AV





1 2