Effacer case en fonction d'une liste

Résolu/Fermé
Jean - 29 sept. 2015 à 11:26
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 - 29 sept. 2015 à 14:40
Bonjour à tous,
Je suis sur excel 2010 et je suis actuellement en train de faire un fichier avec des listes dépendantes les une des autres. Je voudrais lors de la sélection dans une liste que les autres liste reliées via "=indirect" se réinitialise. Pour être sur de la clarté rien ne vaut un exemple:
J'ai une liste principale qui contient "pomme" et "poire". La liste secondaire "pomme" contient des chiffres allant de 10 à 15 et la liste secondaire "poire" de 20 à 25. La seconde liste va donc afficher la liste pomme ou poire en fonction de ce qui est sélectionné dans la liste principale. Mais si par exemple je met pomme sur la liste principale et que je met 10 sur la liste secondaire et que je rechange la liste principale pour mettre poire, la liste secondaire elle reste à 10. C'est pour cela que j'aimerais effacé la valeur de la liste secondaire si jamais on modifie la principale.

j'espère avoir été clair dans mes explications et merci d'avance pour vos réponses.

A voir également:

1 réponse

via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735
29 sept. 2015 à 14:02
Bonjour
ll faut passer par une macro associée à la feuille

Exemple de macro avec la liste déroulante en B4 et la liste secondaire en C4 ( à adapter)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$4" Then Exit Sub
Range("C4") = ""
End Sub


ALT+F11 pour ouvrir l'éditeur VBA, sélectionner par double-clic la feuille concernée dans l'arborescence puis copier-coller la macro dans la page et fermer l'éditeur

Cdlmnt
Via
0
Tout d'abord merci de votre réponse.
Le fait que la macro soit associé a la feuille fait qu'elle se lance à chaque modification?
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735 > Jean
29 sept. 2015 à 14:40
Exactement
La première ligne teste si c'est la bonne cellule qui a été modifiée (dans mon ex B4) et il y a sortie sans rien faire si ce n'est pas le cas; sinon la ligne 2 efface la cellule C4
0