Bonjour à tous,
J'ai un problème de lenteur avec la macro principale d'un outil excel qui je développe (j'apprend tout sur le tas :)
J'ai une Front Page (Onglet 1) ou je choisie 3 référence dans 3 plages de donnée distinctes et qui par la suite :
1 - les 3 références viennent se copier/coller dans 3 cellules (A1/B1/C1) et une référence globale est produite en D1 (=A1&B1&C1)
2 - Les 3 cellules sélectionnées sont colorié en Rouge et la précédente redevient blanche (couleur de toutes les cellules non sélectionnées sur les plages)
3 - Ma macro principale (macro inscrite dans l'onglet 1) vient lire la référence et vient renseigner le contenu de 78 Formes différentes !!! (aussi dans l'onglet 1) en passant par l'onglet 2 ou elle cherche dans un tableau de données la référence en Colonne 1 puis va lire la cellule en Colonne 10 et affiche le contenu de cette cellule dans la forme.
J'ai segmenté mes tableau de données dans 6 onglets différents (pensant que la macro prendrait moins de temps si le tableau etait moins grand à lire)
Résultat, j'ai répétais 78 fois le même code dans ma macro pour afficher mes 78 résultats :(
Voici le code répété :
If Not Intersect(Target, Me.Range("$A$1:$C$1")) Is Nothing And Target.Count = 1 Then
Valeur = Me.Range("D1")
With [PUTG100].ListObject.DataBodyRange
Set Plage = .Find(Valeur)
If Not Plage Is Nothing Then Me.[UTG - OPENRAISE - ALLPROFIL - TABLEAU 1].Text = Worksheets("UTG100").Range(.Cells(Plage.Row - .Row + 1, 10)).Value
End With
- Temps d'exécution de ma macro : 18s
- Temps d'exécution de ma macro (sans l'étape 2) : 4s mais encore trp lent
Auriez vous des pistes à me proposer ?
Merci