Liste déroulante d'une cellule qui ne s'affiche pas

Fermé
Alexsimps Messages postés 199 Date d'inscription mercredi 4 février 2009 Statut Membre Dernière intervention 6 novembre 2014 - Modifié par Alexsimps le 7/11/2014 à 09:34
redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 - 11 nov. 2014 à 10:20
Bonjour à tous,

J'ai un petit problème qui m'embête quelque peu...

Je créé via macro vba, des liste de validations de données dans plusieurs cellules précises pour permettre la saisie assisté d'une ligne dans la feuille Excel (Les autres lignes sont verrouillées).
Au premier appel, aucun problème, tout fonctionne bien.
Je valide ma ligne avec un bouton qui vient reverrouiler les cellules (et suppression de la liste de validation).

Lorsque j'essaie de recréer une ligne (et donc de faire appel à ma création de liste de validation), les boutons ne se génère qu'après un laps de temps aléatoire (plusieurs minutes). Entre la création et l'affichage, je peux naviguer dans mes cellules, et tenter des saisies qui sont refusées car ne font pas partie de la liste de données autorisées ! Ce qui veut dire que la liste de validation est présente, mais que la liste déroulante la contenant ne s'affiche pas...

Est ce que quelqu'un aurait une idée ?

J'ai tenté le refresh.all du workbook, un activate de la feuille, rien n'y fait.

Ce problème se produit sur toutes les feuilles de mon classeur (+ de 90 onglets)...

Merci d'avance.

Alexsimps.

A voir également:

1 réponse

redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 119
Modifié par redaiwa le 11/11/2014 à 10:20
Salam Alexsimps.

Apparemment le volume de ton ton fichier est un peu lourd, cela peut engendrer des lenteurs dans l'exécution des macros. J'ai trouvé ceci sur le net, ça peut servir :

Si quand vous exécutez une macro qui effectue automatiquement des modifications dans des cellules, vous constatez une lenteur étrange, c'est vraissemblablement parce que votre classeur contient de nombreuses formules, et à chaque changement quelconque d'une cellule, Excel recalcule tout. AUssi, il est sage de mettre avant toute macro l'instruction de blocage du recalcul automatique :
Application.Calculation = xlCalculationManual
Pensez à le remettre à automatique juste avant la fin de la macro :
Application.Calculation = xlCalculationAutomatic

Egalement pour des questions de vitesse d'exécution, il est conseillé de désactiver le rafraîchissement de l'écran avant la macro, et réactiver après :
Application.ScreenUpdating = False
' Faire plein de choses qui affectent le contenu des cellules
Application.ScreenUpdating = True


:)

"Repousse le mal par le bien; et voilà que celui avec qui tu avais une animosité devient tel un ami chaleureux" (Coran)
"Celui qui ne sait pas partager est infirme de ses émotions". (Marc Levy)
0