Bonjour,
J'ai développer la procédure ci dessous que j'appelle via un bouton sur ma feuille de calcul "TCD"
Cette feuille de calcul contient un TCD dénommé TCD_SuiviDuChiffreDAffaireDesAccords.
Celui ci est lié à une plage de données qui sont dans la feuille "ODS". Cette plage de données est alimentée par la connexion "ODSSAT_SuiviDuChiffreDAfaireDesAccords_Projection6mois"
Problème constaté :
Lors que le lance la macro, la premiere fois la plage de données est mise à jour mais pas le TCD
Si je relance la macro, le TCD est alors à jour.....
Si je lance la macro en mode pas à pas, elle fonctionne très bien...
Je ne vois aucune erreur. Si qq1 a une idée.
Ci dessous le code.
Merci de votre retour
' Procédure ODS_Btn_Actualiser
Sub ODS_Btn_Actualiser()
Dim odcFile
Dim objFSO
' Gestion d'erreurs
On Error Resume Next
' Activation de la feuille du TCD
Sheets("TCD").Select
' Affichage du lancement de l'actualisation
Application.ScreenUpdating = True
Range("A6").Value = "Actualisation en cours..."
Range("A6").Interior.Color = RGB(255, 0, 0)
' Vérification préalable de l'accès au fichier de connexion vers l'ODS
If (ActiveWorkbook.Connections.Count = 0) Or ActiveWorkbook.Connections("ODSSAT_SuiviDuChiffreDAfaireDesAccords_Projection6mois") Is Nothing Then
MsgBox "La connexion à l'ODS est inexistante." & vbCrLf & "Veuillez contacter l'administrateur ", vbOKOnly
Exit Sub
End If
' Lancement du refresh des données de l'ODS
Application.StatusBar = "Rechargement des données de l'ODS... "
ActiveWorkbook.Connections("ODSSAT_SuiviDuChiffreDAfaireDesAccords_Projection6mois").Refresh
Application.StatusBar = "Fin du chargement des données de l'ODS."
' Actualisation du tableau croisé dynamique
Application.StatusBar = "Actualisation du tableau croisé dynamique..."
Application.Sheets("TCD").Select
ActiveSheet.PivotTables("TCD_SuiviDuChiffreDAffaireDesAccords").PivotCache.Refresh
' Affichage de la fin de l'actualisation
Range("A6").Interior.Pattern = xlNone
Range("A6").Value = "Actualisé le " & Now()
' Fin
Application.StatusBar = False
End Sub