Workbook endommagé ? Liste invisible ?
Bonjour à toutes et à tous,
Je suis confronté à un problème particulièrement nouveau et je n'arrive pas à m'en sortir sans tout changer dans mon code, c'est pour cette raison que j'ai besoin de vous !
Je souhaiterais créer une liste dans plusieurs cellules mais la flèche permettant de parcourir la dite liste n'apparaît que lorsque j'ouvre le classeur. Dès que je lance certaines macros, elle disparaît, bien que le format de la cellule reste celui d'une liste (je ne peux renseigner que des valeurs correspondant à celles de la liste).
Après avoir parcouru un bon moment le net, et vérifié les paramètres avancés, options et compagnie, je suis arrivé à la conclusion que mon classeur était "endommagé". En effet, lorsque j'ouvre mon classeur après l'avoir réparé, ce dernier efface les boutons qui, selon-lui, corrompt mon classeur et les listes ne bug plus...
Je vous mets en pièce jointe le fichier sur lequel j'ai le problème.
C'est à l'onglet 2 "Choix de Gamme". À l’initialisation du classeur on peut voir que les cellules B13 et F13 sont bien des listes dans lesquelles on peut choisir des valeurs.
Cependant, dès que j'appuie sur l'une des image ou sur l'un des 2 autres bouton de l'onglet "PLUS" et "MOINS" la petite flèche de la liste disparait...Ceci étant on peut voir que le format de liste est toujours présent, il m'est juste impossible de faire apparaître les éléments de la liste.
Je ne comprends absolument pas d'où peut provenir le problème...je sais juste que l'une des macros reliée à ces boutons et image "endommage" mon classeur...
Si l'une ou l'un d'entre vous a déjà eu ce type de problème ou un élément de réponse je lui en serait vraiment reconnaissant.
Merci d'avance pour votre aide et bonne journée à vous !
Bonjour,
La source du problème n'est pas très mystérieuse : les flèches des listes déroulantes sont des objets Shapes. Or tu manipules les objets Shapes de ta feuille dans ton code sans toujours cibler très précisément ceux que tu entends manipuler... Tes flèches sont donc naturellement affectées.
Tout ton code est à reprendre, de façon à n'intervenir que sur les objets visés explicitement. Il convient de n'utiliser que les noms des Shapes (et laisser de côté le cas échéant les numéros d'index qui dans ce contexte n'offrent aucune fiabilité).
Cordialement.
Bonjour,
Merci déjà de ta réponse presque immédiate ^^
Je comprends ce que tu veux dire, je vais essayer ce que tu me conseils.
Cependant j'ai une nouvelle question à propos de cette histoire d'index.
En réalité je ne suis pas fan des index pour désigner des shapes mais j'en avais besoin pour parcourir toutes les shapes de mon onglet car j'ai eu à un moment une surprise...
En effet, le bouton "PLUS" qui exécute une macro qui ajoute un espace image me créé une shape qui m'est totalement inconnu et qui s'appelle "Drop Down #" où # est un numéro partant de 1 et s'incrémentant au fur et à mesure.
Cette shape m’empêchait de compter le nombre exacte de forme dans mon onglet. Je devais donc parcourir toutes les shapes, avec donc un index, car je ne connais pas vraiment d'autres méthodes et qu'elle me semblait appropriée.
Pour en revenir à mon problème initial, si je ne dois utiliser que le nom des shapes je vais devoir tirer un trait sur ma façon de compter les shapes de mon onglet et j'ai besoin de cette fonction...De plus comme je ne comprends absolument pas le fonctionnement de ce "Drop Down #" qui apparaît sans raison (en tout cas pour moi ^^) je ne vois pas comment je peux m'en sortir...
Si tu as une idée ou un conseil je suis preneur.
Merci encore et à bientôt
Pas de nouveau conseil !
Les Shapes "flèches" prennent un nom "Drop Down ?" effectivement. Leur volatilité non maîtrisable (à ma connaissance) fait que voulant supprimer une Shape censée avoir pris le dernier index, tu as de fortes chances de supprimer une des flèches qui l'a acquis entretemps...
D'où mon conseil de ne t'appuyer que sur les noms (quite à les changer...) pour cibler les Shapes effectivement visées.
Cordialement.
Re-bonjour,
Le problème venait effectivement de l’appellation de shapes sous forme d'index.
J'ignore à quel niveau ça a joué mais au moins ça marche. J'ai pu m'en sortir en n'utilisant que des Shapes("xxx" & i) et ça l'a fait, à ma grande surprise !
Je suis bien content d'avoir posé la question parce que là je dois avouer que je n'aurais jamais trouvé tout seul ^^'
Voilà donc moral de toute cette histoire.......Shapes(i) FORBIDDEN !
Merci encore et à bientôt sur le forum !
Regarde l'aspect positif !
Bonne continuation.