Bonjour, débutant dans le VBA j’essaie de réaliser en partant d’un calendrier annuel (2017) l’ouverture de plusieurs classeurs d’une même semaine (ex : lundi.xls ; mardi.xls etc … hebdo s1.xls)
J’ai donc mis des boutons en place (S1, S2, etc…) avec une macro que j’ai d’ailleurs trouvé sur ce forum.
Sub TousFichiersDunDossierS1()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "serveurService Indicateur 2017Semaine 1"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
Workbooks.Open Filename:=File
Next
End If
End Sub
Fonctionne très bien sur la semaine 1, par contre sur une autre semaine ouvre bien les classeurs mais en ouvre un suplémentaire avec une boite de dialogue "propriétés des liaisons de donnés" et l'arrêt de la macro en surbrillance jaune sur "Workbooks.Open Filename:=File" :
Sub TousFichiersDunDossierS3()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "serverServiceIndicateur2017Semaine 3"
If NomDossier = "" Then Exit Sub
Set Dossier = fso.getfolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
Workbooks.Open Filename:=File
Next
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour, Est-ce que le fichier qu'Excel tente d'ouvrir lorsque la macro s'arrête contient vraiment un ou des liens vers d'autres fichiers? Dans ta procédure, place le curseur de la souris sur "Open" de la ligne de code, et appuie sur la touche F1. Tu vas voir que cette la méthode "Open" contient beaucoup de paramètres dont : UpdateLinks auquel tu peux affecter l'une de ces valeurs : Valeur Signification 0 Les références externes (liens) ne sont pas mises à jour à l’ouverture du classeur. 3 Les références externes (liens) sont mises à jour à l’ouverture du classeur. Modifie ta ligne de code "Workbooks.Open Filename:=File" comme ceci : "Workbooks.Open Filename:=File",UpdateLinks:=0 Les mises à jour des données ne seront pas faites à l'ouverture, mais comme tu n'as qu'un fichier ayant des liens, tu pourras le faire dès que ce dernier sera ouvert manuellement si nécessaire. MichD
Bonjour,
Est-ce que le fichier qu'Excel tente d'ouvrir lorsque la macro
s'arrête contient vraiment un ou des liens vers d'autres fichiers?
Dans ta procédure, place le curseur de la souris sur "Open" de
la ligne de code, et appuie sur la touche F1. Tu vas voir que cette
la méthode "Open" contient beaucoup de paramètres dont : UpdateLinks
auquel tu peux affecter l'une de ces valeurs :
Valeur Signification
0 Les références externes (liens) ne sont pas mises à jour à l’ouverture du classeur.
3 Les références externes (liens) sont mises à jour à l’ouverture du classeur.
Modifie ta ligne de code "Workbooks.Open Filename:=File" comme ceci :
"Workbooks.Open Filename:=File",UpdateLinks:=0
Les mises à jour des données ne seront pas faites à l'ouverture, mais comme tu
n'as qu'un fichier ayant des liens, tu pourras le faire dès que ce dernier sera ouvert
manuellement si nécessaire.
Bonjour, Est-ce que le fichier qu'Excel tente d'ouvrir lorsque la macro s'arrête contient vraiment un ou des liens vers d'autres fichiers? Dans ta procédure, place le curseur de la souris sur "Open" de la ligne de code, et appuie sur la touche F1. Tu vas voir que cette la méthode "Open" contient beaucoup de paramètres dont : UpdateLinks auquel tu peux affecter l'une de ces valeurs : Valeur Signification 0 Les références externes (liens) ne sont pas mises à jour à l’ouverture du classeur. 3 Les références externes (liens) sont mises à jour à l’ouverture du classeur. Modifie ta ligne de code "Workbooks.Open Filename:=File" comme ceci : "Workbooks.Open Filename:=File",UpdateLinks:=0 Les mises à jour des données ne seront pas faites à l'ouverture, mais comme tu n'as qu'un fichier ayant des liens, tu pourras le faire dès que ce dernier sera ouvert manuellement si nécessaire. MichD
dajufargos
Le lundi 13 Février 2017 à 14:08 par MichD :
Bonjour, Est-ce que le fichier qu'Excel tente d'ouvrir lorsque la macro s'arrête contient vraiment un ou des liens vers d'autres fichiers? Dans ta procédure, place le curseur de la souris sur "Open" de la ligne de code, et appuie sur la touche F1. Tu vas voir que cette la méthode "Open" contient beaucoup de paramètres dont : UpdateLinks auquel tu peux affecter l'une de ces valeurs : Valeur Signification 0 Les références externes (liens) ne sont pas mises à jour à l’ouverture du classeur. 3 Les références externes (liens) sont mises à jour à l’ouverture du classeur. Modifie ta ligne de code "Workbooks.Open Filename:=File" comme ceci : "Workbooks.Open Filename:=File",UpdateLinks:=0 Les mises à jour des données ne seront pas faites à l'ouverture, mais comme tu n'as qu'un fichier ayant des liens, tu pourras le faire dès que ce dernier sera ouvert manuellement si nécessaire. MichD
Bjr MichD, quand je suis suis la ligne et que je tape F1 "Worksheets(1).Range ("A2").value=3.14159" J'ai changé la ligne de code "Workbooks.Open Filename:=File,UpdateLinks:=0" il se passe la même chose, ça ouvre tous mes classeurs + celui avec la boite de dialogue et surbrillance jaune de la nouvelle ligne de commande.
Le lundi 13 Février 2017 à 14:08 par MichD :
> Bonjour,
>
> Est-ce que le fichier qu'Excel tente d'ouvrir lorsque la macro
> s'arrête contient vraiment un ou des liens vers d'autres fichiers?
>
> Dans ta procédure, place le curseur de la souris sur "Open" de
> la ligne de code, et appuie sur la touche F1. Tu vas voir que cette
> la méthode "Open" contient beaucoup de paramètres dont
> : UpdateLinks
> auquel tu peux affecter l'une de ces valeurs :
>
> Valeur Signification
> 0 Les références externes (liens) ne sont pas mises à jour
> à l’ouverture du classeur.
> 3 Les références externes (liens) sont mises à jour
> à l’ouverture du classeur.
>
> Modifie ta ligne de code "Workbooks.Open Filename:=File" comme ceci
> :
>
> "Workbooks.Open Filename:=File",UpdateLinks:=0
>
> Les mises à jour des données ne seront pas faites à
> l'ouverture, mais comme tu
> n'as qu'un fichier ayant des liens, tu pourras le faire dès que ce
> dernier sera ouvert
> manuellement si nécessaire.
>
> MichD
Bjr MichD, quand je suis suis la ligne et que je tape F1 "Worksheets(1).Range ("A2").value=3.14159"
J'ai changé la ligne de code "Workbooks.Open Filename:=File,UpdateLinks:=0" il se passe la même chose, ça ouvre tous mes classeurs + celui avec la boite de dialogue et surbrillance jaune de la nouvelle ligne de commande.
Bonjour, Est-ce que le fichier qu'Excel tente d'ouvrir lorsque la macro s'arrête contient vraiment un ou des liens vers d'autres fichiers? Dans ta procédure, place le curseur de la souris sur "Open" de la ligne de code, et appuie sur la touche F1. Tu vas voir que cette la méthode "Open" contient beaucoup de paramètres dont : UpdateLinks auquel tu peux affecter l'une de ces valeurs : Valeur Signification 0 Les références externes (liens) ne sont pas mises à jour à l’ouverture du classeur. 3 Les références externes (liens) sont mises à jour à l’ouverture du classeur. Modifie ta ligne de code "Workbooks.Open Filename:=File" comme ceci : "Workbooks.Open Filename:=File",UpdateLinks:=0 Les mises à jour des données ne seront pas faites à l'ouverture, mais comme tu n'as qu'un fichier ayant des liens, tu pourras le faire dès que ce dernier sera ouvert manuellement si nécessaire. MichD
Bjr MichD, quand je suis suis la ligne et que je tape F1 "Worksheets(1).Range ("A2").value=3.14159" J'ai changé la ligne de code "Workbooks.Open Filename:=File,UpdateLinks:=0" il se passe la même chose, ça ouvre tous mes classeurs + celui avec la boite de dialogue et surbrillance jaune de la nouvelle ligne de commande.
MichD
| ça ouvre tous mes classeurs + celui avec la boite de | dialogue et surbrillance jaune de la nouvelle ligne de commande. Quelle est la version d'Excel avec laquelle tu travailles? De quelle boîte de dialogue parles-tu? Que dit cette boîte de dialogue? Si après avoir répondu à la boîte de dialogue, tu vas dans le code et que tu appuies sur la touche F8, est-ce que la macro passe la ligne en surbrillance jaune? Quelle est la nature des liens de ce fichier avec d'autres fichiers Excel? Seulement par des formules dans les cellules des feuilles? Si tu ouvres manuellement de classeur, est-ce que ces liens sont bons? Peux-tu mettre à jour chacun de ces liens? Sans voir ce qui se passe, tu dois être très explicite dans tes explications. MichD
| ça ouvre tous mes classeurs + celui avec la boite de
| dialogue et surbrillance jaune de la nouvelle ligne de commande.
Quelle est la version d'Excel avec laquelle tu travailles?
De quelle boîte de dialogue parles-tu? Que dit cette boîte de dialogue?
Si après avoir répondu à la boîte de dialogue, tu vas dans le code et que
tu appuies sur la touche F8, est-ce que la macro passe la ligne en
surbrillance jaune?
Quelle est la nature des liens de ce fichier avec d'autres fichiers Excel?
Seulement par des formules dans les cellules des feuilles? Si tu ouvres
manuellement de classeur, est-ce que ces liens sont bons? Peux-tu
mettre à jour chacun de ces liens?
Sans voir ce qui se passe, tu dois être très explicite dans tes explications.
| ça ouvre tous mes classeurs + celui avec la boite de | dialogue et surbrillance jaune de la nouvelle ligne de commande. Quelle est la version d'Excel avec laquelle tu travailles? De quelle boîte de dialogue parles-tu? Que dit cette boîte de dialogue? Si après avoir répondu à la boîte de dialogue, tu vas dans le code et que tu appuies sur la touche F8, est-ce que la macro passe la ligne en surbrillance jaune? Quelle est la nature des liens de ce fichier avec d'autres fichiers Excel? Seulement par des formules dans les cellules des feuilles? Si tu ouvres manuellement de classeur, est-ce que ces liens sont bons? Peux-tu mettre à jour chacun de ces liens? Sans voir ce qui se passe, tu dois être très explicite dans tes explications. MichD