Bloquer les collages dans une liste déroulante

  • Initiateur de la discussion Initiateur de la discussion laurano
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

laurano

Guest
Bon, je me sens un peu neuneu parce que j'ai vu des messages se rapportant à mon problème et pour autant les macros qui étaient données en solution ne donnent rien chez moi. Il doit y avoir un truc que je ne fais pas bien (je vous rassure les macros sont quand même bien actives sur mon excel...)

Donc mon problème qui n'a rien de très original : j'ai un tableau avec des cellules avec liste déroulante mais on peut très bien écrire autre chose que ce qui est prévu dans les listes en faisant un copier coller et certains de mes utilisateurs ne s'en privent pas. Il me faut donc un moyen pour empêcher de coller quoique ce soit dans des cellules qui ont une liste déroulante.

Merci d'avance

Gilles
 
Re : Bloquer les collages dans une liste déroulante

Bonsoir laurano, bienvenue sur XLD,

Je suis très étonné que vous n'ayez pas encore eu de réponse.

Pour éviter le Copier/Coller, mettre dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False
End Sub

Il est possible de n'appliquer cela qu'à certaines cellules (au lieu de toute la feuille), mais il faudrait alors les indiquer.

A+
 
Re : Bloquer les collages dans une liste déroulante

Re,

La méthode de mon post précédent n'est pas très satifaisante.

En effet elle est inopérante si l'on copie dans la barre de formule : le presse-papier est alors alimenté sans qu'Excel passe en mode copier. Et on peut ainsi coller...

Il vaut mieux utiliser la solution suivante :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.Copy Target
End Sub

ou encore plus simplement :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[A1].Copy [A1]
End Sub

A+
 
Dernière édition:
Re : Bloquer les collages dans une liste déroulante

Bonjour,

j'ai trouvé votre post qui m'a été très utile afin de bloquer la fonction coller dans les menus déroulants.
Le seul souci est que je voudrais ne pas interdire cette fonction pour les autres cellules de la feuille qui ne sont pas concernées par ces menus déroulants.

Pourriez-vous me donner le code à utiliser svp ?

Je vous remercie !
Julie
 
Re : Bloquer les collages dans une liste déroulante

Bonjour le fil, bonjour le forum,

En pièce jointe une petit fichier exemple avec le code ci-dessous. J'utilise dans la plage A1:A10 une validation de donnée avec la liste en I1:I7. Le code de la macro événementielle Change, à adapter, empêche toute autre valeur même en copier/coller.
Le code :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub
If Range("I1:I7").Find(Target.Value, , xlValues, xlWhole) Is Nothing Then Target.Value = ""
End Sub
Le fichier :
 

Pièces jointes

Re : Bloquer les collages dans une liste déroulante

Bonjour Robert,

je vous remercie pour votre aide.
J'ai téléchargé votre fichier et essayé de faire des copier-coller dans le menu déroulant pour tester votre code or les valeurs du menu déroulant sont écrasées par le "coller".

J'ai besoin que les valeurs du menu déroulant ne puissent pas être écrasées par un copier-coller d'un utilisateur réfractaire à l'utilisation du menu déroulant.
Et j'ai également besoin de laisser la liberté aux utilisateurs de faire des copier-coller dans les cellules de saisie libre.
Actuellement, le code que j'utilise (trouvé sur ce fil de discussion) est le suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[A1].Copy [A1]
End Sub

et il bloque la fonction coller sur toute la feuille.
J'ai besoin de préciser les colonnes que je souhaite bloquer.
Savez-vous comment procéder ?

Je vous remercie pour vos lumières !

Julie
 
Re : Bloquer les collages dans une liste déroulante

Bonjour le fil, bonjour le forum,

Comme j'expliquai dans mon fil précédent je propose une solution à adapter... Soit tu founis un fichier exemple et je te ferai une macro qui correspond, soit tu adaptes le code. Mon exemple concerne la plage A1:A10 (plage contenant la validation de données) et n'accepte que les valeurs contenues dans la plage I1:I7 (lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche). Il suffit de modifier ces plage dans le code pour l'adapter à ton fichier...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
457
Compte Supprimé 979
C
Réponses
9
Affichages
725
Retour