Aide Ouvrir un classeur sous VBA

Fermé
Abistar - Modifié par pijaku le 1/10/2015 à 07:46
 Abistar - 2 oct. 2015 à 18:36
Bonjour à tous,

Je souhaites ouvrir un fichier excel se trouvant dans un dossier sur mon bureau en créant une macro. Je suis encore novice en VBA donc j'aimerais avoir un coup de pouce de votre part. Voici ce que j'ai fait :

Sub ouvrir_classeur()
 Workbooks.Open Filename:=" I:\Documents and Settings\USER_PFI\Bureau\CONTROLE_DE_CAISSE_SATOGA\MISE_A_JOUR_TABLEAU_DE_BORD\EFFETS_ESCOMPTE_-_ORABANK_2015.xls" '
End Sub


A la suite de cela, une boîte de dialogue s'affiche avec le chiffre "400".

Merci d'avance
A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié par f894009 le 1/10/2015 à 08:37
Bonjour,

si pas erreur de recopie, enlever l'espace devant le I:. De plus si c'est sur votre disque local, normalement la lettre est C voir D si deux partitions mais pas I

Sub ouvrir_classeur()
 Workbooks.Open Filename:="C:\Documents and Settings\USER_PFI\Bureau\CONTROLE_DE_CAISSE_SATOGA\MISE_A_JOUR_TABLEAU_DE_BORD\EFFETS_ESCOMPTE_-_ORABANK_2015.xls" '
End Sub
0
Bonjour à vous,

Merci infiniment pour votre réponse. J'ai essayé la macro sans succès. Le même message apparaît. J'ai vérifié les différents disques locales que j'ai sur mon poste et c'est bien "I" avec un "J". L'emplacement du fichier que j'ai mis dans mon post est également exact ( I:\Documents and Settings\USER PFI\Bureau\CONTROLE DE CAISSE SATOGA\MISE A JOUR TABLEAU DE BORD).

En fait, je vous explique clairement ce que je veux faire. Je reçois périodiquement le classeur EFFET ESCOMPTE ORABANK 2015 ainsi que d'autres classeurs au même format avec des données à l'intérieur qui change. Je souhaite donc regrouper dans un même classeur les différentes feuilles de ces classeurs. Ensuite j'ai créer un bouton dans chaque feuille incorporée dans le classeur centralisateur et je souhaite faire une mise à jour de chaque feuille en cliquant sur le bouton.

Le problème que je vous ai soumis représente une partie de ce que je dois écrire afin d'exécuter la macro de mise à jour.
0
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
Modifié par PlacageGranby le 1/10/2015 à 14:36
Bonjour,

Dans votre code, vous spécifier pas exactement la même chose que votre deuxième mesaage
I:\Documents and Settings\USER_PFI\Bureau\CONTROLE_DE_CAISSE_SATOGA\MISE_A_JOUR_TABLEAU_DE_BORD
I:\Documents and Settings\USER PFI\Bureau\CONTROLE DE CAISSE SATOGA\MISE A JOUR TABLEAU DE BORD


Un espace en trop, ou un underscore _ inutile, et le chemin vers votre fichier ne sera pas trouvé. Soit vous indiquez exactement le bon chemin, ou vous utiliser un moyen dynamique de trouver le chemin.

Voici un petit bout de code pour y voir plus clair
Sub test()
Dim NomDuFichier As String
NomDuFichier = Application.GetOpenFilename

MsgBox NomDuFichier

End Sub


Vous pouvez rendre la sélection de fichier dynamique, vous sélectionner le fichier en question et ensuite vous pouvez faire Workbooks.
Open Filename:= NomDuFichier
0
Abistar > PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019
1 oct. 2015 à 15:09
Génial votre proposition. Merci infiniment.
Par ailleurs j'aimerais savoir comment je fais si j'ai le même fichier dans plusieurs dossiers et que je veux celui d'un dossier bien spécifique? Je dois spécifier cela de la manière suivante : I:\Documents and Settings\USER_PFI\Bureau\CONTROLE_DE_CAISSE_SATOGA\MISE_A_JOUR_TABLEAU_DE_BORD\EFFETS_ESCOMPTE_ORABANK_2015 ????
0
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
1 oct. 2015 à 15:50
Re-bonjour,

Si vous avez deux fois le même fichier dans deux dossiers différent, pour Excel, ce sont deux fichiers différent.
Si vous en ouvrez un et que vous écriver "ALLO TOUT LE MONDE" dans la cellule A1, l'autre fichier n'aura pas cette modification. C'est deux fichiers distinct et chacun possède son chemin.

Vous dites, je dois spécifier cela de la manière suivante. et vous me donner 1 emplacement. Est-ce que les deux fichier sont dans le même emplacement ou non ?

Est-ce que les deux fichier sont dans "mise_a_jour_tableau_de_bord" ?

Pour excel, vous donnez un chemin avec le nom de fichier, et c'est exactement le fichier qu'il ouvrira. Excel ne fait pas de spéculation, il suit le chemin donné. Et comme mentionné précédemment, un espace de trop, une petite faute de frappe, et il ne suivra pas le bon chemin et ne trouvera pas le fichier.
0
Abistar > PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019
1 oct. 2015 à 16:22
ok j'ai bien compris votre explication. Les 2 classeurs ne sont pas dans le même dossier mais lorsque je met le lien conduisant au fichier l'erreur persiste.
J'ai essayé de voir dans d'autres files de discussion si je pouvais obtenir des solutions à mon problèmes et j'ai obtenu une codification que j'ai un peu modifié mais ça ne marche toujours pas. C'est le suivant:

Sub test10()
Dim Echéances_COMPLEMENT_2015 As String
'Ouvre le fichier source
Workbooks.Open Filename:=Echéances_COMPLEMENT_2015
'Copier les données de la feuille 1 du fichier source
Workbooks(Echéances_COMPLEMENT_2015).Worksheets("1").Cells.Select
Selection.Copy
'Coller les données copier dans la feuille du fichier destination test treso
Workbooks(test_treso).Worksheets("1").Range("A1").Activate
ActiveSheet.Paste
'Fermer le fichier source
Workbooks(Echéances_COMPLEMENT_2015).Close False '
End Sub
0