Optimisation Macro remplissage feuille à partir d'autres feuilles - VB/VBA/VBS - Programmation
Marsh Posté le 12-07-2018 à 15:22:28
Désactiver déjà l'affichage en début de procédure, voir ScreenUpdating dans l'aide VBA interne …
Simplifier aussi avec un With Worksheets("Sortie" ) évitant ainsi les multiples répétitions envers cette référence
et, là aussi, juste en lisant l'aide VBA interne …
Possibilité d'utiliser une matrice pour les cellules adjacentes du résultat mais si ce n'est pas maitrisé, à éviter car
le meilleur code n'est pas celui du voisin "pro" mais celui que vous êtes déjà à même de comprendre et surtout de maintenir !
Et bien souvent en utilisant le B-A-BA d'Excel le code s'en trouve simplifié, bien moins de lignes et rendant même parfois une boucle inutile …
Marsh Posté le 12-07-2018 à 16:10:16
Merci pour les conseils j'ai déjà résolu mon problème. Je savais déjà que je devais utiliser With, c'était notifié dans mon introduction d'ailleurs, il s'agissait juste d'avoir un départ pour cela, mais bon la nuit et quelques conseils portent conseils. Sur ce, je notifie le poste comme résolu.
Bonne soirée.
Marsh Posté le 13-07-2018 à 20:26:25
Ensuite il faudrait revoir la logique car j'aperçois plein de choses pas à leur place …
Il est inutile de boucler sur l'intégralité pour ne garder que les valeurs de la dernière itération !
Vaudrait mieux alors boucler en sens inverse et si la condition est remplie,
ce n'est pas la peine de continuer, juste sortir de la boucle …
A toi de voir et de mettre cela à plat. Déjà en suivant la progression du code en mode pas à pas …
Marsh Posté le 11-07-2018 à 15:49:47
J'ai au point une macro qui permet remplir une feuille en fonction de certaines valeurs et paramètres dans une autre feuille. Elle fonctionne mais la manière dont elle est rédigée disons n'est pas très efficace (^_^)' . En effet si j'ai disons des centaines de données à traiter je sens que ça se transformera en un programme interminable. Pouvez-vous m'aider à le rendre plus compact (optimiser) ? J'ai essayé de passer par des tableaux ou par la fonction "With" mais je me perds entre temps ou alors le programme ne fonctionne plus.
Je vous mets en annexe le code du programme en question.
PS: Le programme fonctionne, il fait le travail mais je souhaite l'optimiser car il ne fait pas très "normalisé"
Merci d'avance pour votre aide.