Problème macro bouton liste déroulante

Bonjour à tous,

encore une fois je suis bloquée sur une macro ! J'ai créé une liste déroulante avec le bouton développeur. Celle-ci est associée à une macro que voici :

Sub BDD_Recherche()
'Enlève la protection de la feuille
    ActiveSheet.Unprotect ""
'Filtre les colonnes en fonction de la couleur jaune fluo
    ActiveSheet.ListObjects("BDD").Range.AutoFilter Field:=5, Criteria1:=RGB( _
        255, 255, 0), Operator:=xlFilterCellColor
    ActiveSheet.ListObjects("BDD").Range.AutoFilter Field:=2, Criteria1:=RGB( _
        255, 255, 0), Operator:=xlFilterCellColor
'Protége la feuille
    ActiveSheet.Protect "", True, True, True
End Sub

Elle fonctionne bien la première fois, mais quand je veux changer de valeur (en choisir une nouvelle avec ma liste) j'ai un message d'erreur car nous sommes sur une feuille protégée. Comment puis-je y remédier ? Je veux absolument que cette feuille soit protégée pour éviter les mauvaise manip.

Merci beaucoup pour votre aide !

Laure

Bonjour,

Essayez ceci:

Sub BDD_Recherche()
    With ActiveSheet
        .Unprotect "" 'Enlève la protection de la feuille
        .Range("BDD[#Headers]").AutoFilter 'supprime les filtres existants
        'Filtre les colonnes en fonction de la couleur
        .ListObjects("BDD").Range.AutoFilter Field:=5, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
        .ListObjects("BDD").Range.AutoFilter Field:=2, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
        .Protect "", True, True, True  'Protége la feuille
    End With
End Sub

Cdlt

Bonjour,

Je ne n’ai pas assez d'information pour répondre précisément à ton problème mais plusieurs choses :

Peut-être supprimer le premier filtre avant d’exécuter le second ?

Ou est la variable que tu veux passer ? Je ne la vois pas

Sur quelle ligne de code ça bug ?

Benead

Merci Arturo83, mais ça ne fonctionne pas :( j’ai toujours la même erreur : « La Cellule ou le graphique que vous essayez de modifier se trouve sur une feuille protégée. Pour apporter une modification à celui-ci, vous devez ôter la protection de la feuille. Vous serez peut-être invité à entrer un mot de passe ».

Voilà où se situe l’erreur, il ne s’agit pas d’une erreur dans le code. Quand je supprime les deux lignes unprotect et protect ça fonctionne sans problème même sans enlever le filtre avant.

La variable est liée à la cellule z1 qui change en fonction de la valeur indiquée avec la liste déroulante. C’est quand je veux changer la valeur de la liste déroulante que j’ai le message d’erreur. J’espère que je t’ai donné plus d’info Benead ;)

Laure

Bonjour Laure

Pour plus de facilité à trouver une solution il serait bien de joindre le fichier concerné (anonymisé)

Ah ok, je comprends mieux, il faut aller dans le format de la cellule Z1 et déverrouiller la cellule dans l'onglet ''Protection'', c'est une case à cocher.

Benead

Oui c’est tout à fait ça !!

Merci beaucoup, c’était tout bête en fait !Je m’en rappellerai.

Laure

Rechercher des sujets similaires à "probleme macro bouton liste deroulante"