Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 13/03/2010, 19h16   #1
Membre du Club
 
Dominique Martin
Inscription : août 2009
Messages : 84
Détails du profil
Informations personnelles :
Nom : Dominique Martin
Âge : 50
Localisation : France, Marne (Champagne Ardenne)

Informations forums :
Inscription : août 2009
Messages : 84
Points : 60
Points : 60
Par défaut Empécher utilisateurs de faire un Ctrl X

Bonjour le Forum,

Ayant du refaire plusieurs fois un fichier a cause de cellules manquantes,
Je cherche à empécher les utilisateurs de faire la combinaison de touche Ctrl X ou (de faire un couper/coller) tout en leur laissant la possibilité de faire CtrlC ou (Copier/coller)

J'ai essayé avec l'aide de Vba plusieurs codes du style mais sans résultat

Code :
1
2
3
Sub auto_open()
Application.CutCopyMode = False
End Sub
ou même :
Code :
1
2
3
Sub auto_open()
Application.CutCopyMode = xlCopy
End Sub
et tout remettre en ordre à la fermeture du classeur avec un Sub Auto_Close

Si quelqu'un a une idée

Merci à vous

Dom
Domimart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2010, 08h46   #2
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
bonjour Domimart le forum fait une recherche sur OnKey !!
attention quand meme a l'utilisation

exemple

Code :
1
2
3
4
5
6
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Application.OnKey "^{x}"
End Sub
Private Sub Workbook_Open()
   Application.OnKey "^{x}", " "
End Sub
__________________
SALUTATIONS
laetitia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2010, 13h28   #3
Membre du Club
 
Dominique Martin
Inscription : août 2009
Messages : 84
Détails du profil
Informations personnelles :
Nom : Dominique Martin
Âge : 50
Localisation : France, Marne (Champagne Ardenne)

Informations forums :
Inscription : août 2009
Messages : 84
Points : 60
Points : 60
Re bonjour Laetitia,

Avec OnKEy, je peux effectivement empécher la combinaison de touches Ctrl X, mais l'utilisateur a quand même la possibilité de faire un clic droit, puis faire un couper coller

Tu as raison c'est toujours délicat de modifier le comportement du clavier ou des évenements excel, et je risque de tout planter.
Je vais plutôt resensibiliser les opérateurs sur ce point

Merci à toi et bon weekend à tous

Dom
Domimart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2010, 13h44   #4
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 410
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 410
Points : 5 926
Points : 5 926
Bonjour.

Si la feuille est protégée, avec sélections autorisées, tu peux copier des cellules verrouillées, mais pas les couper.

Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2010, 09h06   #5
Membre du Club
 
Dominique Martin
Inscription : août 2009
Messages : 84
Détails du profil
Informations personnelles :
Nom : Dominique Martin
Âge : 50
Localisation : France, Marne (Champagne Ardenne)

Informations forums :
Inscription : août 2009
Messages : 84
Points : 60
Points : 60
Bonjour PGZ,

Le problème est que ce sont des cellules dévérouillées, les utilisateurs (nombreux et de différents niveaux) doivent y saisir des noms.
Comme je compare chaque nom, et que je vérifie si il est autorisé, j' ai plusieurs cellules dépendantes. Et quand ils me suppriment une cellule
,tous les dépendants me renvoyent une valeur d'erreur et je ne m'en aperçoie pas forcement immédiatement.

J'ai bien essayé de contourner le pbm avec une macro lançant une MsgBox d'information et en lui attribuant le racourçi Ctrl+X, mais xl me met automatiquement un racourci Ctrl+Maj+X

Cordialement
Dom
Domimart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2010, 13h24   #6
Membre du Club
 
Dominique Martin
Inscription : août 2009
Messages : 84
Détails du profil
Informations personnelles :
Nom : Dominique Martin
Âge : 50
Localisation : France, Marne (Champagne Ardenne)

Informations forums :
Inscription : août 2009
Messages : 84
Points : 60
Points : 60
Re bonjour à tous,
Finalement j'ai utilisé le code de Laetitia pour lancer une MsgBox d'information.
Les utilisateurs peuvent toujours faire un couper/coller avec le menu contextuel, mais au moins cela limite déjà les erreurs.
voici le code final :

Code :
1
2
3
4
5
6
7
8
9
10
11
Sub auto_open()
  Application.OnKey "^{x}", "info "
End Sub
Sub info()
MsgBox "Vous allez supprimer une cellule " & Chr(10) & _
       " et générer une erreur.           " & Chr(10) & _
       "Faites plutôt un copier/coller."
End Sub
Sub auto_close()
 Application.OnKey "^{x}"
End Sub
Merci à tous et bon forum

Dom
Domimart est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 06h50.


 
 
 
 
Partenaires

Hébergement Web