Bonjour,
Je travaille sur un fichier qui permet de générer un tableau de bord dynamique à partir d'une source de données sur le réseau. Pour cela, j'ai créé une macro qui permet d'actualiser ces données de fichier avant de générer les graphiques.
Le problème c'est que la durée d'actualisation dure plus de 90s vu qu'il s'agit de presque de 300 000 lignes de données. Par suite, mon idée, c'est au lieu de laisser l'utilisateur avec la moulinette d'attente excel pendant ce temps, je voulais afficher une forme contenant un message de genre "Merci de patienter..". Pour faire ça, j'ai crée ma forme avec le message dans une autre feuille du classeur, et juste avant l'actualisation des données, j'appelle une macro qui copie cette forme et la colle sur la feuille du tableau de bord ....et une fois l'actualisation est faite, j'appelle une autre macro pour supprimer la forme.
Mon problème c'est que la première macro qui copie colle la forme ne marche pas ! Voici son code:
C'est sur la "Sht3" que les données vont s'actualiser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub Waiting() Sheets("Sht2").Select ActiveSheet.Shapes.Range(Array("MaForme")).Select Selection.Copy Sheets("Tableau_de_Bord").Select Range("J11").Select ActiveSheet.Paste ThisWorkbook.Sheets("Sht3").Activate End Sub
J'espère trouver la solution chez vous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 'Code pour activer la connexion avec la source de données Call Waiting ActiveWorkbook.Connections("Table_BD_Semaines").Refresh End Sub
Merci d'avance.
Partager