Eviter le copier coller dans plusieurs listes déroulantes

  • Initiateur de la discussion Initiateur de la discussion phandil
  • 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 !

phandil

XLDnaute Nouveau
bonjour,

j'essaie de protéger les listes déroulantes du copier coller et de l'inscription manuel.

J'ai 3 listes déroulantes faisant à chaque fois références à 3 feuilles différentes qui ont chacune une liste nommé différente

Pour l'instant avec mes recherches j'ai trouvé comment protéger une liste mais pas moyen de protéger les 2 autres

Voici le code

Code:
Dim validation As Boolean
Dim validation1 As Boolean
Dim validation2 As Boolean

Dim trouvé As Boolean
Dim trouvé1 As Boolean
Dim trouvé2 As Boolean
validation = False
validation1 = False
validation2 = False

For Each cellule In Sheets("XXXX_test").Range("LISTE_TEST")
    If Target.Value = cellule.Value Then trouvé = True
Next
On Error Resume Next
validation = Target.validation.InCellDropdown
If validation = True And trouvé = False Then Target.ClearContents
On Error GoTo 0

For Each cellule In Sheets("XXXX_FRN").Range("liste_fournisseur")
    If Target.Value = cellule.Value Then trouvé1 = True
Next
On Error Resume Next
validation1 = Target.validation1.InCellDropdown
If validation1 = True And trouvé1 = False Then Target.ClearContents
On Error GoTo 0

For Each cellule In Sheets("XXXX_NIVEAU").Range("liste_niveau")
    If Target.Value = cellule.Value Then trouvé2 = True
Next
On Error Resume Next
validation2 = Target.validation2.InCellDropdown
If validation2 = True And trouvé2 = False Then Target.ClearContents
On Error GoTo 0


End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Cells.SpecialCells(xlCellTypeAllValidation), Target) Is Nothing Then
    Application.CutCopyMode = False
End If
Application.EnableEvents = True
End Sub

Merci d'avance pour vos réponses
 
Re : Eviter le copier coller dans plusieurs listes déroulantes

J'avais déjà retravaillé le code pour le copier-coller ==> pas de problème

Seulement pour le premier point il y a un paramètre qui me semblait ingnifant mais qui visiblement prend tout son sens:

Dans ma liste déroulante j'ai un blanc !

et visiblement ce blanc qui peut être une option fait "sauter" la sécurité écriture

CF fichier en pièce jointe: changement de la liste essai1
 

Pièces jointes

Re : Eviter le copier coller dans plusieurs listes déroulantes

RE Phandil,

Effectivement, un blanc dans la cellule autorise une saisie non contrôlée par la validation des données. Pour y pallier, il suffit de décocher la case "Ignorer si vide". Cette option n'empêchera pas une valeur nulle dans la cellule.

Cordialement.
 

Pièces jointes

  • Capture Phandil.JPG
    Capture Phandil.JPG
    39.4 KB · Affichages: 76
- 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

Discussions similaires

Réponses
5
Affichages
232
Réponses
4
Affichages
461
  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
426
Retour