Effacer case en fonction d'une liste

Résolu
Jean -  
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   -
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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
Jean
 
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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746 > Jean
 
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