Autoriser uniquement le (copier) coller de valeurs

Bonsoir,

N'ayant que très très peu de connaissances en matière de VBA, pourriez-vous m'aider à résoudre le problème suivant ?

Je souhaiterais pouvoir copier n'importe quelle cellule de mon fichier et être autorisée uniquement à en coller sa valeur (dans la cellule de mon choix).

Nous allons être amenés à se partager ce fichier, et j'aimerais éviter que les "novices" en Excel écrasent les MFC et les validations de données que j'ai crées par des copier/coller non maîtrisés.

Si c'est possible, pouvez-vous me décrire les étapes une par une, en commençant par la sélection de la feuille dans laquelle copier le code à venir ?

Je reste à votre disposition si ma question n'est pas assez détaillée.

Merci par avance.

bonjour,

macro à mettre dans le module du classeur (à tester)

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    ov = Target.Value
    Application.EnableEvents = False
    Application.Undo
    Target.Value = ov
    Application.EnableEvents = True
End Sub

Merci beaucoup, cela fonctionne !

Mais à présent, je rencontre un nouveau problème..

Lorsque je copie mon texte dans une cellule, je n'ai pas la possibilité d'annuler ma saisie, que ce soit en appuyant sur la flèche de "retour" ou en effectuant un CRTL + Z.

Par ailleurs, je trouve que la VBA fait pas mal bugger le classeur...

Bonjour Jude2a, Salut h2so4 ,

Pouvez-vous essayer avec cette condition supplémentaire :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
if application.cutcopymode then
    ov = Target.Value
    Application.EnableEvents = False
    Application.Undo
    Target.Value = ov
    Application.EnableEvents = True
end if
End Sub

Ca devrait moins faire bugger le classeur en principe.

Après l'exécution d'une macro, l'annulation est impossible. A mon avis, vous devriez plutôt faire confiance à vos collègues et les briefer ou éventuellement repenser la structure du fichier plutôt que de chercher une telle solution qui peut être une source de surprises.

Par exemple, au lieu de s'attarder sur les collages valeur, vous pourriez prévoir des macros qui reportent automatiquement les valeurs de certaines cellules dans d'autres, ce serait une utilisation plus classique de VBA.

Cdlt,

rebonjour,

Lorsque je copie mon texte dans une cellule, je n'ai pas la possibilité d'annuler ma saisie, que ce soit en appuyant sur la flèche de "retour" ou en effectuant un CRTL + Z.

En effet, l'utilisation d'une macro supprime la possibilité d'annuler une opération.

Par ailleurs, je trouve que la VBA fait pas mal bugger le classeur...

J'ai fait quelques tests (incomplets), mais je n'ai pas rencontré de problème. As-tu une séquence d'opérations qui provoque le bug ?

j'ai trouvé ceci, regarde si cela peut te convenir.

https://fr.extendoffice.com/documents/excel/3842-excel-restrict-paste-values-only.html

Bonsoir h2so4 et 3GB,


Je vous remercie d'avoir pris le temps de chercher des solutions à mes problèmes.

Cependant, j'ai abandonné l'idée d'exécuter une Macro à chaque "coller", car le fait de ne pas pouvoir annuler sa saisie peut se révéler être très embêtant.

De ce fait, j'ai opté pour une Macro, que j'avais déjà testé sur un autre fichier et, qui permet tout simplement de désactiver le copier/coller.


Pour répondre à 3GB :

Ca n'est pas un problème de confiance en mes collègues, mais plutôt en leurs connaissances en Excel qui sont très très limitées. La plupart sait tout juste enregistrer un document sous un répertoire… Ca n'est pas faute pourtant d'essayer de les faire monter en compétences sur tout ce qui touche à la bureautique...

De plus, je ne peux absolument par revoir la structure ou le fonctionnement du fichier qui est bourré de validation de données, de MFC et de formules.
Le report de valeurs dans d'autres cellules n'est malheureusement pas possible par rapport au travail qu'on fait.


Et pour répondre à h2so4 :

Je ne pense pas qu'une séquence d'opérations ait spécialement engendré ce bug.
Mis à
part peut-être les validations de données ?

[s=co-0f243e][s=co-1f497d][/s][/s]

Encore merci à tous les deux !

Je clôture le sujet

Rechercher des sujets similaires à "autoriser uniquement copier coller valeurs"