Re : Aide pour une MFC en VBA
Ce n'est pas seulement que c'est trop lourd... C'est que ça bug. Regarde dans le classeur de départ dans la mise en forme conditionnelle le nombre de lignes qui concernant la mise en couleur de 1 ligne sur deux c'est hallucinant.
Mieux vaut repartir d'un classeur propre et remettre dedans ce qui est utile et nécessaire et le moderniser au passage pour qu'il continue à fonctionner avec excel 2007 et +.
L'impossibilité d'effacer une ligne une fois renseignée
Non la seule façon de le faire n'est certainement pas de ne pas toucher à son code et d'y intégrer ta mefc. Si c'est ce que tu veux absolument faire ce sera sans moi, j'aime pas trop devoir tuer excel par le gestionnaire de tâche (et pourtant j'ai une bonne bécane...)
Par exemple dans le code, toutes les listes de valisation sont mises par macro alors que cela se fait très facilement sans cela (je te les ai du reste remises dans le classeur proposé, j'ai juste pas mis l'alerte sur la date mais là encore ça se met dans données/validation, pas besoin de macro pour ça).
Le code vérifie que le N° de devis n'existe pas déjà. Cela peut aussi se régler avec une mise en forme conditionnelle qui met en rouge par exemple le n° quand on le tape si il existe déjà.
Le code contient des select qui ne servent strictement à rien mais ralentissent considérablement l'exécution.
les formules qui extraient le mois à partir de la date n'ont pas non plus besoin d'être mises par macro. Il suffit de les mettre dans le tableau. Ce sont des formules très simples qui même sur des milliers de lignes ne ralentissent pas le fonctionnement.
Il ne faut garder dans le code que ce qui est réellement utile : les tests sur les suppressions de ligne par exemple.
j'ai du mal à comprendre aussi l'intérêt de mémoriser l'état de la feuille à chaque changement de SELECTION dans la feuille. Bonjour le ralentissement alors que le fait de sélectionner ne change pas la valeur et donc l'état de la cellule.
Mais bon c'est toi qui voit comme on dit !