Note: The other languages of the website are Google-translated. Back to English

Comment empêcher le copier-coller sur une cellule avec une liste déroulante dans Excel?

Pour une cellule avec la liste déroulante de validation des données, lorsque vous copiez le contenu d'une autre cellule et collez-y, la liste déroulante disparaîtra et sera remplacée par le nouveau contenu à coller. Dans certains cas, vous souhaitez empêcher le copier-coller d'autres contenus sur la cellule avec la liste déroulante, que feriez-vous pour y remédier? Dans cet article, vous obtiendrez une méthode VBA pour résoudre ce problème.

Empêcher le copier-coller sur la cellule avec la liste déroulante dans Excel


Empêcher le copier-coller sur la cellule avec la liste déroulante dans Excel

1. Ouvrez la feuille de calcul avec la cellule de la liste déroulante que vous souhaitez empêcher le copier-coller.

2. presse autre + F11 touches simultanément pour ouvrir le Applications Microsoft Visual Basic fenêtre.

3. dans le Applications Microsoft Visual Basic fenêtre, double-cliquez sur le nom de la feuille de calcul actuelle dans le volet gauche, puis copiez et collez le code VBA ci-dessous dans l'éditeur de code. Voir la capture d'écran:

Code VBA: empêchez le copier-coller sur la cellule avec la liste déroulante

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20200903
    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. presse autre + Q touches pour quitter Applications Microsoft Visual Basic fenêtre.

5. Lorsque vous collez du contenu dans une cellule avec une liste déroulante, une boîte de dialogue apparaîtra pour vous rappeler que le collage n'est pas autorisé. Voir la capture d'écran:

Notes: Ce VBA fonctionne simplement en collage d'une seule cellule. Si vous copiez et collez dans plusieurs cellules, cela ne fonctionnera pas.

Créez facilement une liste déroulante avec des cases à cocher dans Excel:

Les Liste déroulante avec cases à cocher utilité de Kutools pour Excel peut vous aider à créer facilement une liste déroulante avec des cases à cocher dans une plage spécifiée, la feuille de calcul actuelle, le classeur actuel ou tous les classeurs ouverts en fonction de vos besoins.
Téléchargez dès maintenant la piste gratuite de 30 jours de Kutools for Excel!


Articles Liés:

Comment créer une liste déroulante avec plusieurs cases à cocher dans Excel?
De nombreux utilisateurs d'Excel ont tendance à créer une liste déroulante avec plusieurs cases à cocher afin de sélectionner plusieurs éléments de la liste à la fois. En fait, vous ne pouvez pas créer une liste avec plusieurs cases à cocher avec la validation des données. Dans ce didacticiel, nous allons vous montrer deux méthodes pour créer une liste déroulante avec plusieurs cases à cocher dans Excel. Ce didacticiel fournit la méthode pour résoudre le problème.

Créer une liste déroulante à partir d'un autre classeur dans Excel
Il est assez facile de créer une liste déroulante de validation des données parmi les feuilles de calcul d'un classeur. Mais si les données de liste dont vous avez besoin pour la validation des données se trouvent dans un autre classeur, que feriez-vous? Dans ce didacticiel, vous apprendrez à créer une liste déroulante à partir d'un autre classeur dans Excel en détail.

Créer une liste déroulante consultable dans Excel
Pour une liste déroulante avec de nombreuses valeurs, trouver la bonne n'est pas une tâche facile. Auparavant, nous avons introduit une méthode de liste déroulante de remplissage automatique lorsque vous entrez la première lettre dans la liste déroulante. Outre la fonction de saisie semi-automatique, vous pouvez également rendre la liste déroulante consultable pour améliorer l'efficacité du travail en trouvant les valeurs appropriées dans la liste déroulante. Pour rendre la liste déroulante consultable, essayez la méthode de ce didacticiel.

Remplir automatiquement d'autres cellules lors de la sélection de valeurs dans la liste déroulante Excel
Supposons que vous ayez créé une liste déroulante basée sur les valeurs de la plage de cellules B8: B14. Lorsque vous sélectionnez une valeur dans la liste déroulante, vous souhaitez que les valeurs correspondantes dans la plage de cellules C8: C14 soient automatiquement renseignées dans une cellule sélectionnée. Pour résoudre le problème, les méthodes de ce didacticiel vous rendront service.

Plus de tutoriels pour la liste déroulante ...


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer 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 réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (12)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Cela fonctionne, mais lorsque je colle une valeur, cela autorise des données qui ne figurent pas dans la liste déroulante. Toute façon de restreindre toute valeur qui ne figure pas dans la liste.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Dilip, Avez-vous pu résoudre le problème, j'ai aussi un problème similaire. Je dois autoriser le copier-coller uniquement pour les valeurs déroulantes dans la cellule de validation des données, autre que je dois restreindre. Pouvez-vous partager votre solution. Merci Rao
Ce commentaire a été minimisé par le modérateur sur le site
Salut, Pendant que j'exécutais cette macro, j'ai eu cette erreur de débogage "Application.Undo". Veuillez résoudre ce problème dès que possible
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, le code vba mentionné ci-dessus n'est pas exécuté. Veuillez résoudre.
Ce commentaire a été minimisé par le modérateur sur le site
Private Sub Worksheet_Change(ByVal Target As Range) Dim xValue As String Dim xCheck1 As String Dim xCheck2 As String If Target.Count > 1 Then Exit Sub End If Application.EnableEvents = False xValue = Target.Value On Error Resume Next xCheck1 = Target. Validation.InCellDropdown En cas d'erreur GoTo 0 Application.Undo En cas d'erreur Reprendre Suivant xCheck2 = Target.Validation.InCellDropdown En cas d'erreur GoTo 0 If xCheck1 = xCheck2 Then Target = xValue Else MsgBox "Pas de collage autorisé !" End If Application.EnableEvents = True End Sub Cette macro ne fonctionne pas lors de la copie à partir d'un classeur ou d'une feuille de calcul différent, alors dites-moi également comment éviter ces choses
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup !! fonctionne bien pour moi !!! la copie dans une seule cellule est restreinte. mais si je copie une liste de cellules et colle .., la pâte est acceptée. laissez-moi voir si je peux régler ça .. merci quand même
Ce commentaire a été minimisé par le modérateur sur le site
Jepson, avez-vous réussi à résoudre le problème du copier-coller dans plusieurs cellules ? Merci d'avance!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Dilip, êtes-vous en mesure de résoudre le problème d'autorisation des données à l'aide de valeurs de collage... je suis également confronté au même problème... aidez-moi à ce sujet s'il vous plaît
Ce commentaire a été minimisé par le modérateur sur le site
Salut Dilip, êtes-vous en mesure de résoudre le problème de l'autorisation des données à l'aide de valeurs de collage
Ce commentaire a été minimisé par le modérateur sur le site
avez-vous réussi à résoudre le problème du copier-coller dans plusieurs cellules ? Merci d'avance!
Ce commentaire a été minimisé par le modérateur sur le site
Non, je ne l'ai pas compris. Je n'ai pas essayé de résoudre après un certain temps.
Ce commentaire a été minimisé par le modérateur sur le site
Je fonctionne MAIS après avoir mis le code, vous ne pouvez rien ANNULER. Pas un seul pas en arrière n'est autorisé.
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0  Personnages
Emplacements suggérés