Tps d'exécution Macro

  • Initiateur de la discussion Initiateur de la discussion Matthieu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Matthieu

Guest
Bonjour le Forum,

Voila j'ai réalisé avec l'aide du forum une macro qui marche comme je le souhaite. L'inconvénient c'est que son temps d'exécution est particuliérement long. Si quelqu'un a une solution pour réduire le temps d'exécution de cette Macro ce serait super.

Je vous laisse un petit fichier avec Ma Macro.
Merci & bonne journée [file name=Mach_20060227111211.zip size=15433]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Mach_20060227111211.zip[/file]
 

Pièces jointes

Bonjour Mathieu

Une première remarque que j'ai faite dès l'ouverture du code de ta macro
Tu définies tes variables sans préciser leur type, de ce fait par défaut le type le plus lourd (Variant) sera choisi

exemple Dim a1 'Cases verte maintenance de contrôle
si a1 est du texte précise dim a1 As String
dim a1 As Integer si a1 est un nombre entier etc ...

Je regarde la suite et te recontacte éventuellement

A+
 
Bonjour Matthieu, Jacques87

Pour éviter que le système ne lise x fois les feuilles on met dans une variable les valeurs contenues dans la feuille.

exemple

Dim colIndex, Colcompcoul, color, valeur, color2, valeur2 As Long ( ou integer en fonction des valeurs)

color = Cells(rwIndex, colIndex).Interior.ColorIndex
color2 = Cells(rwIndex, Colcompcoul).Interior.ColorIndex
valeur = Cells(rwIndex, 4)
valeur2 = Cells(rwIndex, colIndex)

Dans les tests
If color = 35 And color2 = 34 Then
 
Salut Matthieu, jp14, pat1545,

Bon je viens de jeter un p'tit coup d'oeil rapide au code et oooops, mais de le début y'a un petit problème de déclaration
Code:
Dim a1, a2, a3, a4, a5, a6 As Long 'Cases verte maintenance de contrôle

Dim Cumul, Cumul2, Cumul3, Cumul4, Cumul5, Cumul6 As Long 'Objectif en prév de contrôle
Dim rwIndex As Long
Dim colIndex, Colcompcoul, color, valeur, color2, valeur2 As Long
On ne peut pas dimensionner plusieurs variables d'un seul coup comme ici. Dans tous les cas, par exemple ici seul a6 sera en Long, a1 à a5 seront des Variant. Idem pour le reste des autres Dim. A corriger !

Pour les Goto, c'est à éviter en règle général, à la notable exception de la gestion des erreurs. Le Goto est une vieille réminiscence du Basic avant qu'il ne devienne Visual. D'ailleurs dans ton code on peut remplacer les 2 lignes:
Code:
If color > 35 Then GoTo suite1
If color  35 Or color < 15 Then
(...)
End If
'puis la suite ;-)

Bon courage
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
1 K
Réponses
6
Affichages
2 K
Retour