Comment eviter le mode edition ?

Fredgyver

XLDnaute Nouveau
Bonjour à tous

J'ai créé une application qui doit être utilisée essentiellement par des néophytes, donc beaucoup de bêtises et de problèmes potentiels !
J'ai donc utilisé le double-clic pour la saisie des quantités, que j'intercepte par un code beforedoubleclick.
Mais il y en a qui arrivent encore à se planter et qui trifouillent le clavier, arrivés en mode édition (quand le curseur clignote dans la cellule) c'est la panique et ils sont bloqués ...
Ma question est donc ; peut-on bloquer, annuler, empecher l'accès à ce mode édition ?

Merci d'avance,
Fred
 

PMO2

XLDnaute Accro
Re : Comment eviter le mode edition ?

Bonjour,

Une piste avec le code évènementiel suivant à copier dans la fenêtre de code de ThisWorkbook

Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

'°°° votre traitement °°°
MsgBox "coucou"   'pour illustrer - à remplacer par votre code
'°°°°°°°°°°°°°°°°°°°°°°°°

Cancel = True
End Sub

Cordialement.

PMO
Patrick Morange
 

Fredgyver

XLDnaute Nouveau
Re : Comment eviter le mode edition ?

Bonjour,

Une piste avec le code évènementiel suivant à copier dans la fenêtre de code de ThisWorkbook

Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

'°°° votre traitement °°°
MsgBox "coucou"   'pour illustrer - à remplacer par votre code
'°°°°°°°°°°°°°°°°°°°°°°°°

Cancel = True
End Sub

Cordialement.

PMO
Patrick Morange

Bonjour et merci
Le principe du "Cancel = True" fonctionne uniquement pour bloquer le mode édition quand on fait un double clic, mais pas quand on tape un caractère dans une cellule au clavier ou qu'on utilise la touche effacer.
Mon problème est là !
 

PMO2

XLDnaute Accro
Re : Comment eviter le mode edition ?

Bonjour,

Essayez le code suivant à copier dans la fenêtre de code de ThisWorkbook

Code:
Private Sub Workbook_Activate()
Application.EditDirectlyInCell = False
End Sub

Private Sub Workbook_Deactivate()
Application.EditDirectlyInCell = True
End Sub

Cela a une incidence dans la totalité du classeur (toutes les feuilles sont affectées).

Si l'action ne doit agir que sur une seule feuille alors copiez le code suivant
dans la fenêtre de code de la feuille concernée.

Code:
Private Sub Worksheet_Activate()
Application.EditDirectlyInCell = False
End Sub

Private Sub Worksheet_Deactivate()
Application.EditDirectlyInCell = True
End Sub


Cordialement.

PMO
Patrick Morange
 
Dernière édition:

Statistiques des forums

Discussions
312 305
Messages
2 087 082
Membres
103 458
dernier inscrit
Vulgaris workshop