Bonjour. Nouveau sur ce forum, et loin d'être expert en Excel (que j'utilise surtout de manière occasionnelle), je viens ici querir l'aide de pointures pour m'aider à solutionner des soucis apparus suite à mes réponses à d'autres soucis...
J'explique de manière plus détaillée ci-dessous:
Je travaille sur un document possédant un total de deux feuilles de calcul, la seconde servant de conteneurs de référence pour les listes et formule de la première.
Sur cette première feuille se trouve un ensemble de 5 listes déroulantes dynamiques et interagissant ensemble de la manière suivante:
-Liste 1= 2 choix tels que: 1= autorise une liste de choix restreints dans la liste 3; 2= étend la liste 3 et autorise tous ses choix.
-Liste 2= 2 choix tels que: 1= mène à une version.a de la liste 3; 2= mène à une version.b de cette même liste 3.
A ce moment, nous avons donc déjà 4 itérations de la liste 3: Liste 3_restreinte.a; Liste 3_étendue.a; Liste 3_restreinte.b; Liste 3_étendue.b.
Les versions restreintes offrent 6 choix (en version a et b), et les versions étendues offrent, elles, un choix de plus, pour un total de 7 (également en version a et b).
La Liste 4 propose quant à elle un nombre de choix variable (de 4 à 25 pour les versions a, de 4 à 26 pour les versions b), dépendant des choix de la Liste 3. Enfin, une dernière liste, la numéro 5, ne propose que des solutions à deux choix, dont les valeurs disponibles sont déterminées par l'ensemble des valeurs sélectionnées dans les listes précédentes.
Bon, en version écrite, ça peut paraître un peu touffu, mais dans les faits, c'est en réalité assez basique. Tout fonctionne à merveille, ok, mais une chose me pose souci, c'est que modifier un choix, par exemple dans la Liste 3, pour sélectionner une valeur qui rend "invalide" l'une des valeurs auparavant sélectionnées dans une des listes suivantes, ne "reset" pas les listes suivantes à leur état d'origine. De plus, certaines cellules dans les tableaux de données (seconde feuille), possèdent des conditions qui leur permettent d'afficher un espace vide ou une valeur, selon les choix des diverses listes de la première feuille, et du coup, ces cellules restent disponibles en tant que "choix blanc" dans lesdites listes. De fait, même si rien n'y est écrit, elles peuvent encore être sélectionnées, donnant accès aux choix subséquents des listes suivantes.
J'ai tout d'abord tenté de solutionner ce dernier souci par l'usage conjoint de fonctions INDIRECT, ADRESSE et NBVAL. Ceci n'a pas malheureusement pas fonctionné, puisque la formule adapte la taille de la liste déroulante pour en exclure les cellules ne contenant PAS de valeur, mais que les cellules que je souhaite exclure, bien que "vides", contiennent une formule, considérée comme valeur par Excel.
Enfin, concernant le souci des listes "subordonnées" qui ne reviennent pas à leur état originel après modification d'une valeur au sein d'une liste "parente", j'ai tenté, de manière maladroite, de passer par l'exécution d'une macro VBA.
Et là, je dois admettre que j'ai un gros souci, puisque ne connaissant rien au VBA, j'ai d'abord suivi un tutoriel me permettant de lancer une macro "bonjour". La macro fonctionnait parfaitement, et, une fois sur ma feuille Excel, en faisant alt+f8, ladite macro apparaissait dans la liste des macros disponibles.
j'ai ensuite suivi les mêmes procédures afin de créer la macro suivante trouvée sur une page de ce même forum:
Private Sub Worksheet_Change(ByVal Target as Range)
If Target.Address = "$A$2" Then Range("A4").ClearContents
End Sub
J'en ai bien sûr changé les références aux cellules de cette manière:
If Target.Address = "AD3" Then Range("AK6").ClearContents
Où AD3 est ma liste numéro 2, et AK6 ma liste numéro 3, censée être remise à zéro après modification de la section AK6. HORS, pour le coup, la macro n'agit pas, et si je fais alt+F8 pour ouvrir la liste des macros disponibles, elle n'y apparait pas. Tentant d'explorer ce problème, j'ai copié et collé tout un ensemble de macros diverses et variées trouvées sur plein de pages internet, mais aucune de ces macro n'était au final reconnu par la liste alt+F8.
J'ai naturellement bien vérifié, mon document est bien enregistré au format XLSM, et j'ai activé l'exécution de l'ensemble des macros dans la partie "sécurité des macros". Donc, je rate sans doute quelque chose, mais quoi ?
En vous présentant mes excuses pour ce LONG pavé indigeste, mais au moins, je pense avoir bien expliqué mes besoins, mon cheminement et mes soucis.
Merci d'avance de vos possibles réponses.
Partager