enregistrer sous

excelo

XLDnaute Occasionnel
Bonjour tout le monde,
Je viens encore une fois de plus faire appel à votre aide.
J'ai essayer de résoudre mon problème avec l'enregistreur de macro mais c'est pas aussi évident que ça.
Je m'explique:
J'ai trois fichiers : A, B et C
Le fichier A regroupe les informations du mois de "janvier" relatives à la production traiter en France et à l'étranger (PS : "janvier" est renseigné sur la cellule N1).
Le fichier B récupère du fichier A les informations du mois de "janvier" relatives à la production traitée en France uniquement.
Le fichier C récupère du fichier A les informations du mois de "janvier" relatives à la production traité à l'étranger uniquement.

Je voudrais créer une macro qui me permettrait d'ouvrir les fichier B et C et de les enregister sous un réperoire différent en les nommant
"B janvier.xls" et "C janvier.xls".


Merci pour votre aide

Excelo
 

Odesta

XLDnaute Impliqué
Re : enregistrer sous

Bonjour

Votre demande est relativement claire, mais il nous manque les fichiers, et éventuellement un début de macro.

L'idée, que j'utilise souvent, c'est de 'balayer' le fichier source et en fonction de paramêtre (ici Mois et France/Etranger) et d'incrémenter d'autres fichiers cibles.
Quelques fonctions while/wend, un peu de gestion de fichier (Open/Save/Save as) et de l'huile de coude, saupoudrer de IF/then et hop !

Bonne continuation

Olivier
 

excelo

XLDnaute Occasionnel
Re : enregistrer sous

Bonjour Odesta,
il n'est pas évident de présenter mon problème par le biais de fichiers et c'est vrai qu'il est trés difficile d'y répondre sans support, alors je vais faire moins compliqué : je voudrais ouvrir un fichier "b" par exemple et l'enregistrer sous "b" suivie de l'information de la cellule B1 du fichier "A".
si vous aviez un code VBA de disponible, je suis preneur.
Merci
 

Odesta

XLDnaute Impliqué
Re : enregistrer sous

Voici une première piste
Toutes les variables sont à définir !

chemin
fichier_b
fichier_a
feuille_a
nouveau_chemin


'ouvrir le fichier
Workbooks.Open (chemin & "/" & fichier_b)

'définir le nouveau nom
nouveau_nom = nom_fichier_b & workbooks(fichier_a).sheets(feuille_a).cells(2,1).value & ".xls"

'enregristrer le fichier
Workbooks(fichier_b).Save As nouveau_chemin & "/" & nouveau_nom

'le fermer
Workbooks(nouveau_nom).close


Essayez d'intégrer ses différentes lignes, et dites nous si vous avez un souci

Cordialement
Olivier
 

excelo

XLDnaute Occasionnel
Re : enregistrer sous

Re bonjour

pour l'ouverture je n'ai pas de souci,
Workbooks.Open ("C:\B.xls")

par contre pour l'enregister sous, je n'y arrive pas,
j'ai mis :

nouveau_nom = nom_B & Workbooks(A).Sheets(Feuil1).Cells(1, 1).Value & ".xls"
et ça bloque,

si vous pouviez m'aider,
Merci beaucoup
 

excelo

XLDnaute Occasionnel
Re : enregistrer sous

Bonjour tout le monde,
J'ai bien avancé sur mon problème mais je reste néanmoins bloqué sur un gros souci.

Je m'explique :
Ce que je cherche à faire c'est ouvrir deux fichiers : "Variables Eure et Loire 2010.xls" et "Variables de Paris 2010" par une macro qui se trouve sur un fichier nommé "travaux fichier mensuel".

je souhaite pour chacun des fichier ("Variables Eure et Loire 2010.xls" et "Variables de Paris 2010") lancer leur propre macro nommé "masquer" et les enregistrer sous un répertoire "I:\Tableaux variables\pret à envoyer\" en les nommant par le nom figurant sur la cellule L1 de chacun des fichiers.

Soit pour "Variables Eure et Loire 2010.xls", fichier enregistré sous "I:\Tableaux variables\pret à envoyer\" avec le nom indiqué sur la cellule L1 du fichier "Variables Eure et Loire 2010.xls"

Et pour "Variables de Paris 2010.xls", fichier enregistré sous "I:\Tableaux variables\pret à envoyer\" avec le nom indiqué sur la cellule L1 du fichier "Variables de Paris 2010.xls"

Mon problème c'est que sur le code de la macro que j'ai défini, l'enregistrer sous prend la valeur qui figure sur la cellule L1 du fichier "travaux fichier mensuel" et non pas la valeur des cellules L1 des fichiers d'ouverture ("Variables Eure et Loire 2010.xls" et "Variables de Paris 2010") .

Voici mon code lancé du fichier "travaux fichier mensuel":

Sub enregistrer()
''1er fichier
ChDir "I:\Tableaux variables\Tableau"
Workbooks.Open Filename:= _
"I:\Tableaux variables\Tableau\Variables Eure et Loire 2010.xls"
Application.Run "'Variables Eure et Loire 2010.xls'!masquer"
ChDir "I:\Tableaux variables\pret à envoyer"
ActiveWorkbook.SaveAs Filename:= _
"I:\Tableaux variables\pret à envoyer\" & ThisWorkbook.ActiveSheet.Range("L1").Value & ".xls"
ActiveWorkbook.Save
ActiveWindow.Close
'2ème fichier
ChDir "I:\Tableaux variables\Tableau"
Workbooks.Open Filename:= _
"I:\Tableaux variables\Tableau\Variables de Paris 2010"
Application.Run "'Variables de Paris 2010.xls'!masquer"
ChDir "I:\Tableaux variables\pret à envoyer"
ActiveWorkbook.SaveAs Filename:= _
"I:\Tableaux variables\pret à envoyer\" & ThisWorkbook.ActiveSheet.Range("L1").Value & ".xls"

ActiveWorkbook.Save
ActiveWindow.Close


End Sub
Merci beaucoup pour votre aide
Excelo
 

excelo

XLDnaute Occasionnel
Re : enregistrer sous

bonjour Odesta,
c'est tout à fait ça, je viens de résoudre le problème grace à toi,
j'ai mis :
Workbooks("Variables de Paris 2010").Sheets("variables de paies").Range("L1").Value & ".xls"
j'aurais du me concentrer un peu plus sur tes premières pistes,
Merci beaucoup pour ton aide
Bonne journée à tous
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 020
dernier inscrit
Mzghal