Copie entre fichier excel avec noms variables

Résolu
Odeatho Messages postés 6 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 17 décembre 2008 - 23 oct. 2008 à 11:56
Odeatho Messages postés 6 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 17 décembre 2008 - 17 déc. 2008 à 15:16
Bonjour à tous,
Voila en fait , je me débrouille en VB mais il est possible que je fass des erreurs de débutant qu'il ne faut jamais faire

Voila le souci ,
je prépare une macro pour que le tableau d'un premier fichier excel soit recopié dans un autre fichier excel .
Ils sont ouverts les deux en meme temps.
Le souci que j'ai , c est qu en fait je voudrais pouvoir récuperer le nom des classeurs par inputbox car la tache de la macro est récurente mais le nom des fichiers excel changent toutes les semaines.
Est ce possible ?
J'ai essayé mais ca n'a rien donné.
Je vous remercie

6 réponses

DidierLoche Messages postés 33 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 25 novembre 2008 1
13 nov. 2008 à 19:24
Bonsoir,

La fonction GetOpenFilename permetjustement d'ouvrir une fenêtre pour indiquer quel fichier tu veux ouvrir. Je ne comprends pas que cela ne marche pas. Où est-ce que cela ne marche pas ?

Didier
3
Odeatho Messages postés 6 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 17 décembre 2008
24 oct. 2008 à 07:39
Je me suis trompé de partie dans le forum ?
Personne n'a une idée alors ?
0
DidierLoche Messages postés 33 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 25 novembre 2008 1
29 oct. 2008 à 21:21
Bonsoir,

Je pense que le plus simple est d'ouvrir les deux fichiers avec vba, d'abord le fichier source (celui qui contient les données que tu veux copier) et ensuite le fichier cible. Tu peux le faire comme ceci.

Sub test()
   fichier_source = Application.GetOpenFilename("Excel Files (*.xls), *.xls", , "Fichier source")
   fichier_cible = Application.GetOpenFilename("Excel Files (*.xls), *.xls", , "Fichier cible")
   If fichier_source False Or fichier_cible False Then Exit Sub
   If fichier_source = fichier_cible Then Exit Sub 'fichiers identiques




   Application.Workbooks.Open Filename:=fichier_source
   fichier_source = ActiveWorkbook.Name 'permet de virer le path
   Application.Workbooks.Open Filename:=fichier_cible 
   fichier_cible = ActiveWorkbook.Name 'permet de virer le path

   ' ensuite copie de fichier_source vers fichier_cycle
End Sub



Didier
0
Odeatho Messages postés 6 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 17 décembre 2008
13 nov. 2008 à 10:59
Ok cool je te remercie je test ca sous peu et puis je valide la réponse si ca marche.

Merci bien Didier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Odeatho Messages postés 6 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 17 décembre 2008
13 nov. 2008 à 11:04
Par contre si j'ai bien compris , faut que je rentre en dur le nom des deux fichiers dans la macro ?

Le souci c est que le fichier change toutes les semaines de nom mais la tache a réaliser est la même.
Je voudrais par exemple ouvrir le premier , lancer la macro qui m affiche un inputbox marquer le nom du deuxieme fichier pour ensuite faire les copies , tu penses que c est possible ?
Quand j'ai essayé moi, ca n'avais pas marché.
0
Odeatho Messages postés 6 Date d'inscription mercredi 9 juillet 2008 Statut Membre Dernière intervention 17 décembre 2008
17 déc. 2008 à 15:16
Je te remercie Didier j ai reussi a faire ce que je voulais , en utilisant un openfilename simple c etait moi qui faisait une bétise .
Ta réponse me convient aussi parfaitement , je la valide également.

Je te remercie encore
0
Rejoignez-nous