Comment empêcher le copier-coller dans une cellule équipée d’une liste déroulante dans Excel ?
Les listes déroulantes issues de la validation des données offrent un moyen efficace de contrôler le type d’informations saisissables dans certaines cellules Excel, assurant ainsi cohérence et intégrité des données dans vos feuilles de calcul. Toutefois, un problème courant survient lorsque vous copiez du contenu depuis une autre cellule et le collez dans une cellule équipée d’une liste déroulante : la validation des données est alors supprimée, faisant disparaître la liste déroulante. Cela peut entraîner la perte des règles de validation et compromettre la logique du classeur, notamment lorsque les saisies doivent impérativement se limiter aux options proposées par la liste.
Afin de préserver l’intégrité de vos cellules équipées de listes déroulantes, vous souhaiterez peut-être empêcher les utilisateurs d’y coller du contenu. Cela garantit que toutes les données saisies dans ces champs critiques respectent strictement les restrictions et options définies. Dans ce tutoriel, vous découvrirez comment bloquer efficacement les actions de copier-coller sur les cellules contenant des listes déroulantes à l’aide de VBA — une solution idéale pour les formulaires, les modèles à saisie contrôlée ou toute feuille de calcul où la qualité des données est primordiale.
Empêcher le copier-coller dans une cellule contenant une liste déroulante dans Excel
Empêcher le copier-coller dans une cellule contenant une liste déroulante dans Excel
Pour protéger vos listes déroulantes contre tout écrasement lors d’un collage, vous pouvez utiliser du code VBA dans la feuille de calcul qui contient ces cellules. Suivez ces étapes :
1. Ouvrez la feuille de calcul contenant les listes déroulantes que vous souhaitez protéger.
2. Appuyez sur Alt + F11 pour ouvrir la fenêtre Visual Basic pour Applications.
3. Dans le volet gauche, double-cliquez sur la feuille à laquelle vous souhaitez appliquer la protection (et non sur « ThisWorkbook »), puis collez le code VBA suivant dans l’éditeur de code :

Code VBA : Empêcher le collage sur une liste déroulante
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice
Dim xValue As String
Dim xCheck1 As String
Dim xCheck2 As String
Dim xRg As Range
Dim xArrCheck1() As String
Dim xArrCheck2() As String
Dim xArrValue()
Dim xCount, xJ As Integer
Dim xBol As Boolean
' If Target.Count > 1 Then
' Exit Sub
' End If
xCount = Target.Count
ReDim xArrCheck1(1 To xCount)
ReDim xArrCheck2(1 To xCount)
ReDim xArrValue(1 To xCount)
Application.EnableEvents = False
On Error Resume Next
xJ = 1
For Each xRg In Target
xArrValue(xJ) = xRg.Value
xArrCheck1(xJ) = xRg.Validation.InCellDropdown
xJ = xJ + 1
Next
Application.Undo
xJ = 1
For Each xRg In Target
xArrCheck2(xJ) = xRg.Validation.InCellDropdown
xJ = xJ + 1
Next
xBol = False
For xJ = 1 To xCount
If xArrCheck2(xJ) <> xArrCheck1(xJ) Then
xBol = True
Exit For
End If
Next
If xBol Then
MsgBox "The selected cells containg data validation drop-down lists, no pasting allowed."
Else
xJ = 1
For Each xRg In Target
xRg.Value = xArrValue(xJ)
xJ = xJ + 1
Next
End If
Application.EnableEvents = True
End Sub
4. Appuyez sur Alt + Q pour fermer l’éditeur VBA et revenir à Excel.
5. Essayez de coller du contenu dans une cellule équipée d’une liste déroulante : un message vous en empêchera, et la liste déroulante restera intacte :

Remarques et limitations :
Ce code VBA est conçu uniquement pour les opérations de collage dans une seule cellule. Il pourrait ne pas empêcher la perte de la validation des données lors d’un collage effectué sur plusieurs cellules. Veillez à informer les utilisateurs en conséquence.
Conseils de dépannage :
- Assurez-vous que le code est bien placé dans le module de feuille de calcul approprié, et non dans un module général.
- Activez les macros dès l’ouverture du fichier.
- Vérifiez soigneusement les erreurs de copier-coller lors de l’insertion du code.
- Testez la macro dans un fichier exemple avant de l’appliquer à vos données réelles.
Solutions alternatives :
- Protéger la feuille de calcul :Verrouiller la sélection avec des listes déroulantes, puis protégez la feuille pour empêcher toute modification.En savoir plus
- Utiliser les alertes de validation des données :Définissez le style d’alerte sur « Arrêt » afin de bloquer toute saisie manuelle non valide.En savoir plus
Créez facilement des Liste déroulante avec des cases à cocher dans Excel :
L’utilitaire Ajouter des cases à cocher à la liste déroulante de Kutools pour Excel vous permet de créer facilement des listes déroulantes avec cases à cocher dans une plage limitée, la feuille de calcul active, le classeur actuel ou tous les classeurs ouverts, selon vos besoins.
Téléchargez dès maintenant la version complète avec un essai gratuit de 30 jours de Kutools pour Excel !
Articles associés :
Comment créer une liste déroulante avec plusieurs cases à cocher dans Excel ?
De nombreux utilisateurs d’Excel souhaitent créer une liste déroulante permettant de cocher plusieurs options simultanément. En réalité, cette fonctionnalité n’est pas possible avec la simple validation des données. Dans ce tutoriel, nous vous présentons deux méthodes efficaces pour créer une liste déroulante avec plusieurs cases à cocher dans Excel — la solution idéale pour résoudre ce problème courant.
Créer une liste déroulante à partir d’un autre classeur dans Excel
Il est assez simple de créer une liste déroulante via la validation des données entre plusieurs feuilles d’un même classeur. Mais que faire lorsque les données nécessaires à cette validation se trouvent dans un autre classeur ? Ce tutoriel vous explique pas à pas comment créer une liste déroulante à partir d’un autre classeur dans Excel.
Créer une liste déroulante avec fonction de recherche dans Excel
Lorsqu’une liste déroulante contient de nombreuses options, il peut être difficile de retrouver rapidement celle que vous cherchez. Nous avons déjà vu comment activer la saisie semi-automatique dès la première lettre tapée dans le champ de la liste déroulante. Mais ce n’est pas tout : vous pouvez aussi transformer votre liste en une liste interrogeable pour gagner en efficacité ! Ce tutoriel vous montre précisément comment rendre votre liste déroulante interrogeable.
Remplissez automatiquement d’autres cellules en sélectionnant une valeur dans une liste déroulante Excel
Supposons que vous ayez créé une liste déroulante à partir des valeurs situées dans la plage B8:B14. Lorsque vous sélectionnez une valeur dans cette liste, vous souhaitez que les valeurs correspondantes de la plage C8:C14 soient automatiquement insérées dans une cellule cible. Ce tutoriel vous propose des méthodes efficaces pour résoudre ce problème.
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels