macgillian
XLDnaute Nouveau
Bonjour à tous,
Je connais un peu EXCEL mais même si j'ai pas mal de notions en matière de formule je ne connais rien aux macros...
Mon problème : j'ai des listes déroulantes dans une feuille que je souhaite protéger des copier-coller qui viennent écraser la validation de données..
Toutefois je ne souhaite pas interdire le copier coller, juste l'autoriser dans la limite des valeurs définies dans la liste source...
En cherchant ici j'ai trouvé un code qui a marché :
Ceci fonctionne parfaitement (je ne peux copier coller dans la colonne F que les valeurs renseignées en colonne AZ....)
En cas de copier coller d'une autre valeur la cellule cible redevient blanche.
Ma question : j'aimerais appliquer ce procédé dans la même feuille à plusieurs colonnes dans le tableau (par exemple en colonne D je veux limiter le copier coller aux valeurs situées en colonne BD...
J'ai essayé de bricoler un code comme ça :
Bien sûr ça ne fonctionne pas...
N'étant pas connaisseur, quelque chose m'échappe.
Pourriez vous m'éclairer ?
merci d'avance
Macgillian
Je connais un peu EXCEL mais même si j'ai pas mal de notions en matière de formule je ne connais rien aux macros...
Mon problème : j'ai des listes déroulantes dans une feuille que je souhaite protéger des copier-coller qui viennent écraser la validation de données..
Toutefois je ne souhaite pas interdire le copier coller, juste l'autoriser dans la limite des valeurs définies dans la liste source...
En cherchant ici j'ai trouvé un code qui a marché :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range("F7:F3488")) Is Nothing Then Exit Sub
If Range("AZ7:AZ712").Find(Target.Value, , xlValues, xlWhole) Is Nothing Then Target.Value = ""
End Sub
Ceci fonctionne parfaitement (je ne peux copier coller dans la colonne F que les valeurs renseignées en colonne AZ....)
En cas de copier coller d'une autre valeur la cellule cible redevient blanche.
Ma question : j'aimerais appliquer ce procédé dans la même feuille à plusieurs colonnes dans le tableau (par exemple en colonne D je veux limiter le copier coller aux valeurs situées en colonne BD...
J'ai essayé de bricoler un code comme ça :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range("F7:F3488")) Is Nothing Then Exit Sub
If Range("AZ7:AZ712").Find(Target.Value, , xlValues, xlWhole) Is Nothing Then Target.Value = ""
If Application.Intersect(Target, Range("D7:D3488")) Is Nothing Then Exit Sub
If Range("BD7:BD334").Find(Target.Value, , xlValues, xlWhole) Is Nothing Then Target.Value = ""
End Sub
Bien sûr ça ne fonctionne pas...
N'étant pas connaisseur, quelque chose m'échappe.
Pourriez vous m'éclairer ?
merci d'avance
Macgillian