Ouvrir Actualiser Sauvegarder + OLAP

motus972

XLDnaute Nouveau
Bonjour à Tous,

Voic mon problème. Je débute en VBA, et je souhaite créer une macro qui suit les étapes suivantes :
1) Ouvrir des fichiers Excel (composés de 12 fenêtres dans lesquelles se trouvent des TCD alimentés par des cubes OLAP)
2) Actualiser les TCD
3) Attendre la fin de l'actualisation
4) Sauvegarder et fermer.

Grâce à différents forum, j'ai pu créer un début de Macro qui reprend les étape 1) et 2).

Sub Actualiser()
Dim Chemin As String
reponse = MsgBox("Voulez-vous actualiser ?", vbYesNo, "Attention")
If reponse = vbYes Then
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path
Ouvrir Chemin
Application.ScreenUpdating = True
Else: Exit Sub
End If
End Sub

Sub Ouvrir(Chemin As String)
Dim NomFich As String
NomFich = Dir(Chemin & "\Comentarios" & "*.xlsx")
If NomFich = "" Then MsgBox "Aucun fichier n'a été trouvé."
Do While Left(NomFich, 11) = "Comentarios"
Workbooks.Open Chemin & "\" & NomFich
Windows(NomFich).Activate
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
ActiveWorkbook.Close
NomFich = Dir
Loop
End Sub

Première question, pourquoi si je mets direcetement "ActiveWorkbook.RefreshAll" cela n'actualise pas mon classeur ? Je suis obligé de mettre "Windows(NomFich).Activate" pour que ça marche.

Pour l'étape 3, quelqu'un aurait-il une idée ?

Merci d'avance.

Motus
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Ouvrir Actualiser Sauvegarder + OLAP

Bonjour Motus
Première question, pourquoi si je mets direcetement "ActiveWorkbook.RefreshAll" cela n'actualise pas mon classeur ? Je suis obligé de mettre "Windows(NomFich).Activate" pour que ça marche.
ActiveWorkbook voulant dire "le classeur actif",.............. ActiveWorkbook.RefreshAll actualisera uniquement le classeur actif

à+
Philippe
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16