Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ouverture d'un fichier sur un serveur avec VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zizoufan

XLDnaute Occasionnel
Bonjour,

Je souhaiterais ouvrir un fichier qui sur un serveur pour en extraire des données et les mettre dans mon fichier cible. Seulement, j'ai toujours le même message d'erreur :
"le chemin n'existe pas"

voici mon code :




En vous remerciant d'avance
 
Re : ouverture d'un fichier sur un serveur avec VBA

Bonjour,

J'ai créé ce code et ca marche parfaitement maintenant, sauf qu'il y a beaucoup de données et ca risque d'être lent. comment pourrais-je l'optimiser en faisant une boucle ?

Merci beaucoup pour votre aide.

Cordialement,
 
Re : ouverture d'un fichier sur un serveur avec VBA

Sub Import()
Application.ScreenUpdating = 0

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\01_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("C10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("01_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\02_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("D10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("02_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\03_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("E10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("03_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\04_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("F10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("04_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\05_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("G10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("05_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\06_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("H10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("06_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\07_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("I10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("07_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\08_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("J10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("08_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\09_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("K10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("09_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\10_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("L10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("10_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\11_2010_CS PS 06.xls")
Range("E15").Copy
Windows("TDB_titres").Activate
Range("M10").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("11_2010_CS PS 06.xls").Activate
ActiveWindow.Close

'Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\12_2010_CS PS 06.xls")
'Range("E15").Copy
'Windows("TDB_titres").Activate
'Range("N10").Select
'ActiveSheet.Paste
'Application.DisplayAlerts = 0
'Windows("12_2010_CS PS 06.xls").Activate
'ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\01_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("C11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("01_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\02_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("D11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("02_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\03_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("E11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("03_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\04_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("F11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("04_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\05_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("G11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("05_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\06_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("H11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("06_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\07_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("I11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("07_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\08_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("J11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("08_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\09_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("K11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("09_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\10_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("L11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("10_2010_CS PS 06.xls").Activate
ActiveWindow.Close

Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\11_2010_CS PS 06.xls")
Range("E16").Copy
Windows("TDB_titres").Activate
Range("M11").Select
ActiveSheet.Paste
Application.DisplayAlerts = 0
Windows("11_2010_CS PS 06.xls").Activate
ActiveWindow.Close

'Workbooks.Open ("\\SRV-doc\Q-Titres\Documents Communs\Résultats Carnets de Santé\2010\PS 06\12_2010_CS PS 06.xls")
'Range("E16").Copy
'Windows("TDB_titres").Activate
'Range("N10").Select
'ActiveSheet.Paste
'Application.DisplayAlerts = 0
'Windows("12_2010_CS PS 06.xls").Activate
'ActiveWindow.Close
Range("E1").Select
Application.DisplayAlerts = 1

Application.ScreenUpdating = 1

End Sub
 
Re : ouverture d'un fichier sur un serveur avec VBA

Re,

en général, ce qui prend du temps dans une macro c'est d'ouvrir les fichiers, donc je te conseille déjà de regrouper toutes les modifications sur le même fichier ensemble (plutôt que de l'ouvrir et le fermer plusieurs fois)

Ensuite y a-t-il une règle qui permet de déterminer dans quelle cellule tu colles le contenu des cellules E15 et E16 ? Ce sont les cellules de quelle feuille, d'ailleurs ?
 
Re : ouverture d'un fichier sur un serveur avec VBA


Malheureusement, les données sont dans des fichiers séparés. Sinon je peux les organiser dans des feuilles par mois, dans ce cas ce sera toujours des cellules Fixes E15 et E16 pour l'exemple du code.
Si je les organise par feuille dans un seul fichier, quelle boucle pourrais-je utiliser ?

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
562
  • Question Question
Microsoft 365 Formules
Réponses
2
Affichages
705
Réponses
0
Affichages
703
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…