Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb de nom du fichier pour copie par VBA de 3 feuilles dans 1 autre fichier

6 réponses
Avatar
Antoine76
Bonjour,

J'ai une petite difficulté que je n'arrive pas à résoudre en VBA sur Excel
2000.
J'ai un fichier "matrice" (unique) avec 4 feuilles, dont 3 servent de base
de copie, pour être recopiées ensembles, par VBA dans un autre fichier à
feuille unique ne contenant que les données (fichier variable parmi env. 200
du même type).
Ces 3 feuilles apportent des statistiques et courbes dont les données sont
sur la feuille unique de ce 2ème fichier.

Dans la macro, je pars du 2ème fichier à feuille unique qui est ouvert,
j'enregistre son nom, et j'ouvre le fichier "matrice" (Noemie de base) à 4
feuilles pour activer une copie de 3 des 4 pages dans celui à page unique.

Le problème : je n'arrive pas à faire fonctionner le nom du fichier
enregistrer dans la ligne de copie; voici ce que j'ai écrit :
Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )

Je n'ai pas réussi à conbiner favorablement la fonction path avec le nom du
fichier.
Peut-être cela est-il très bête, mais mon niveau de VBA n'est pas très élevé
encore !...

Merci pour votre aide à tous.
Antoine

6 réponses

Avatar
michdenis
Bonjour Antoine,

Si tu prenais quelques instants pour nous expliquer ce que tu essaies de faire.

Où veux-tu copier ce que tu appelles ta matrice de 3 feuilles ? Dans le même classeur ? Vers un autre classeur ? si oui, quel est
son nom ?


Salutations!


"Antoine76" a écrit dans le message de news:
Bonjour,

J'ai une petite difficulté que je n'arrive pas à résoudre en VBA sur Excel
2000.
J'ai un fichier "matrice" (unique) avec 4 feuilles, dont 3 servent de base
de copie, pour être recopiées ensembles, par VBA dans un autre fichier à
feuille unique ne contenant que les données (fichier variable parmi env. 200
du même type).
Ces 3 feuilles apportent des statistiques et courbes dont les données sont
sur la feuille unique de ce 2ème fichier.

Dans la macro, je pars du 2ème fichier à feuille unique qui est ouvert,
j'enregistre son nom, et j'ouvre le fichier "matrice" (Noemie de base) à 4
feuilles pour activer une copie de 3 des 4 pages dans celui à page unique.

Le problème : je n'arrive pas à faire fonctionner le nom du fichier
Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )

Je n'ai pas réussi à conbiner favorablement la fonction path avec le nom du
fichier.
Peut-être cela est-il très bête, mais mon niveau de VBA n'est pas très élevé
encore !...

Merci pour votre aide à tous.
Antoine
Avatar
Antoine76
Bonjour michdenis
Le fichier "à une seule feuille" est un fichier de données sur les salariés
d'une société. Il y a environ 200 fichiers de sociétés de ce type. Pour
exploiter les données données de cette feuille unique, il faut des formules
de statistiques /calcul qui sont sur deux feuilles de caluls ainsi qu'une
troisième pour le graphique.
Compte tenu du nombre de fichier "à une seule feuille", seul un fichier de
base (c'est à dire avec 0 salarié) contient ces 3 autres feuilles. Pour
avoir des fichiers plus légers et réactifs, il ne contiennent que la feuille
des données, et lorsque l'on a besoin d'exploiter les données par toutes les
formules, l'idée est de faire, par macro en perso.xls, une copie de ces 3
feuilles du fichier de base à 0 salariés vers le fichier de l'entreprise
Lambda qui ne contenait que la seule feuille de données sur les salariés.
L'activation de cette macro fait donc passer le fichier de 1 à 4 feuilles,
l'enregistre comme tel.
Quelques jours plus tard, une 2ème macro sera à son tour activée pour
effectuer l'opération inverse, en supprimant les 3 feuilles ajoutées.
La difficulté que je rencontre est en fait sur la 1ère macro pour ajouter
ces 3 feuilles, car je n'arrive pas à définir le nom de ce fichier (variable
parmi environ 200 fichiers similaires, mais tous de noms différents). Le
seul moment où je peux "capturer" le nom de ce fichier "variable" est au
début de la macro "michdenis". Le problème est que je n'arrive pas à
l'exploiter par la suite dans le code VBA de copie des 3 fichiers que je
t'avais transmis :

Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )
Je te joins, si cela peut être plus clair, le fichier à 0 salarié et 4
feuilles qui est à la base de tout !...
http://cjoint.com/?lrmRXa4VR2
(pour clarifier les idées, j'ai mis un salarié : Jean DUPONT...)

Merci à toi.


a écrit dans le message de news:

Bonjour Antoine,

Si tu prenais quelques instants pour nous expliquer ce que tu essaies de
faire.


Où veux-tu copier ce que tu appelles ta matrice de 3 feuilles ? Dans le
même classeur ? Vers un autre classeur ? si oui, quel est

son nom ?


Salutations!


"Antoine76" a écrit dans le message de news:



Bonjour,

J'ai une petite difficulté que je n'arrive pas à résoudre en VBA sur Excel
2000.
J'ai un fichier "matrice" (unique) avec 4 feuilles, dont 3 servent de base
de copie, pour être recopiées ensembles, par VBA dans un autre fichier à
feuille unique ne contenant que les données (fichier variable parmi env.
200

du même type).
Ces 3 feuilles apportent des statistiques et courbes dont les données sont
sur la feuille unique de ce 2ème fichier.

Dans la macro, je pars du 2ème fichier à feuille unique qui est ouvert,
j'enregistre son nom, et j'ouvre le fichier "matrice" (Noemie de base) à 4
feuilles pour activer une copie de 3 des 4 pages dans celui à page unique.

Le problème : je n'arrive pas à faire fonctionner le nom du fichier
Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )

Je n'ai pas réussi à conbiner favorablement la fonction path avec le nom
du

fichier.
Peut-être cela est-il très bête, mais mon niveau de VBA n'est pas très
élevé

encore !...

Merci pour votre aide à tous.
Antoine







Avatar
Antoine76
Bonjour michdenis
Le fichier "à une seule feuille" est un fichier de données sur les salariés
d'une société. Il y a environ 200 fichiers de sociétés de ce type. Pour
exploiter les données données de cette feuille unique, il faut des formules
de statistiques /calcul qui sont sur deux feuilles de caluls ainsi qu'une
troisième pour le graphique.
Compte tenu du nombre de fichier "à une seule feuille", seul un fichier de
base (c'est à dire avec 0 salarié) contient ces 3 autres feuilles. Pour
avoir des fichiers plus légers et réactifs, il ne contiennent que la feuille
des données, et lorsque l'on a besoin d'exploiter les données par toutes les
formules, l'idée est de faire, par macro en perso.xls, une copie de ces 3
feuilles du fichier de base à 0 salariés vers le fichier de l'entreprise
Lambda qui ne contenait que la seule feuille de données sur les salariés.
L'activation de cette macro fait donc passer le fichier de 1 à 4 feuilles,
l'enregistre comme tel.
Quelques jours plus tard, une 2ème macro sera à son tour activée pour
effectuer l'opération inverse, en supprimant les 3 feuilles ajoutées.
La difficulté que je rencontre est en fait sur la 1ère macro pour ajouter
ces 3 feuilles, car je n'arrive pas à définir le nom de ce fichier (variable
parmi environ 200 fichiers similaires, mais tous de noms différents). Le
seul moment où je peux "capturer" le nom de ce fichier "variable", est au
début de la macro dans la 1ère instruction.
Le problème est que je n'arrive pas à l'exploiter par la suite, dans le code
VBA de copie des 3 fichiers que je
t'avais transmis :

Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )
Je te joins, si cela peut être plus clair, le fichier à 0 salarié et 4
feuilles qui est à la base de tout !...
http://cjoint.com/?lrmRXa4VR2
(pour clarifier les idées, j'ai mis un salarié : Jean DUPONT...)

Merci à toi.

"michdenis" a écrit dans le message de news:

Bonjour Antoine,

Si tu prenais quelques instants pour nous expliquer ce que tu essaies de
faire.


Où veux-tu copier ce que tu appelles ta matrice de 3 feuilles ? Dans le
même classeur ? Vers un autre classeur ? si oui, quel est

son nom ?


Salutations!


"Antoine76" a écrit dans le message de news:


Bonjour,

J'ai une petite difficulté que je n'arrive pas à résoudre en VBA sur Excel
2000.
J'ai un fichier "matrice" (unique) avec 4 feuilles, dont 3 servent de base
de copie, pour être recopiées ensembles, par VBA dans un autre fichier à
feuille unique ne contenant que les données (fichier variable parmi env.
200

du même type).
Ces 3 feuilles apportent des statistiques et courbes dont les données sont
sur la feuille unique de ce 2ème fichier.

Dans la macro, je pars du 2ème fichier à feuille unique qui est ouvert,
j'enregistre son nom, et j'ouvre le fichier "matrice" (Noemie de base) à 4
feuilles pour activer une copie de 3 des 4 pages dans celui à page unique.

Le problème : je n'arrive pas à faire fonctionner le nom du fichier
Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )

Je n'ai pas réussi à conbiner favorablement la fonction path avec le nom
du

fichier.
Peut-être cela est-il très bête, mais mon niveau de VBA n'est pas très
élevé

encore !...

Merci pour votre aide à tous.
Antoine







Avatar
Antoine76
Bonjour michdenis
Le fichier "à une seule feuille" est un fichier de données sur les salariés
d'une société. Il y a environ 200 fichiers de sociétés de ce type. Pour
exploiter les données données de cette feuille unique, il faut des formules
de statistiques /calcul qui sont sur deux feuilles de caluls ainsi qu'une
troisième pour le graphique.
Compte tenu du nombre de fichier "à une seule feuille", seul un fichier de
base (c'est à dire avec 0 salarié) contient ces 3 autres feuilles. Pour
avoir des fichiers plus légers et réactifs, il ne contiennent que la feuille
des données, et lorsque l'on a besoin d'exploiter les données par toutes les
formules, l'idée est de faire, par macro en perso.xls, une copie de ces 3
feuilles du fichier de base à 0 salariés vers le fichier de l'entreprise
Lambda qui ne contenait que la seule feuille de données sur les salariés.
L'activation de cette macro fait donc passer le fichier de 1 à 4 feuilles,
l'enregistre comme tel.
Quelques jours plus tard, une 2ème macro sera à son tour activée pour
effectuer l'opération inverse, en supprimant les 3 feuilles ajoutées.
La difficulté que je rencontre est en fait sur la 1ère macro pour ajouter
ces 3 feuilles, car je n'arrive pas à définir le nom de ce fichier (variable
parmi environ 200 fichiers similaires, mais tous de noms différents). Le
seul moment où je peux "capturer" le nom de ce fichier "variable", est au
début de la macro dans la 1ère instruction.
Le problème est que je n'arrive pas à l'exploiter par la suite, dans le code
VBA de copie des 3 fichiers que je
t'avais transmis :

Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )
Je te joins, si cela peut être plus clair, le fichier à 0 salarié et 4
feuilles qui est à la base de tout !...
http://cjoint.com/?lrqsVN4xHO
(pour clarifier les idées, j'ai mis un salarié : Jean DUPONT...)

Merci à toi.


"michdenis" a écrit dans le message de news:

Bonjour Antoine,

Si tu prenais quelques instants pour nous expliquer ce que tu essaies de
faire.


Où veux-tu copier ce que tu appelles ta matrice de 3 feuilles ? Dans le
même classeur ? Vers un autre classeur ? si oui, quel est

son nom ?


Salutations!


"Antoine76" a écrit dans le message de news:


Bonjour,

J'ai une petite difficulté que je n'arrive pas à résoudre en VBA sur Excel
2000.
J'ai un fichier "matrice" (unique) avec 4 feuilles, dont 3 servent de base
de copie, pour être recopiées ensembles, par VBA dans un autre fichier à
feuille unique ne contenant que les données (fichier variable parmi env.
200

du même type).
Ces 3 feuilles apportent des statistiques et courbes dont les données sont
sur la feuille unique de ce 2ème fichier.

Dans la macro, je pars du 2ème fichier à feuille unique qui est ouvert,
j'enregistre son nom, et j'ouvre le fichier "matrice" (Noemie de base) à 4
feuilles pour activer une copie de 3 des 4 pages dans celui à page unique.

Le problème : je n'arrive pas à faire fonctionner le nom du fichier
Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )

Je n'ai pas réussi à conbiner favorablement la fonction path avec le nom
du

fichier.
Peut-être cela est-il très bête, mais mon niveau de VBA n'est pas très
élevé

encore !...

Merci pour votre aide à tous.
Antoine







Avatar
michdenis
Bonjour Antoine,

Pour copier 3 feuilles de ton classeur Perso.xls vers le classeur actif,
Tu peux utiliser cette macro placée dans le Perso.xls

'------------------------------
Sub Copier3FeuillesDuPerso()

Dim Wk As Workbook
Dim Nom As String, Chemin As String
Set Wk = ActiveWorkbook
With Workbooks("Perso.xls")
With .Worksheets(Array("Statistiques", "Etat Démographique", "Courbe des âges"))
.Copy Before:=Wk.Sheets(1)
End With
End With
Set Wk = Nothing

End Sub
'------------------------------


Salutations!



"Antoine76" a écrit dans le message de news:
Bonjour michdenis
Le fichier "à une seule feuille" est un fichier de données sur les salariés
d'une société. Il y a environ 200 fichiers de sociétés de ce type. Pour
exploiter les données données de cette feuille unique, il faut des formules
de statistiques /calcul qui sont sur deux feuilles de caluls ainsi qu'une
troisième pour le graphique.
Compte tenu du nombre de fichier "à une seule feuille", seul un fichier de
base (c'est à dire avec 0 salarié) contient ces 3 autres feuilles. Pour
avoir des fichiers plus légers et réactifs, il ne contiennent que la feuille
des données, et lorsque l'on a besoin d'exploiter les données par toutes les
formules, l'idée est de faire, par macro en perso.xls, une copie de ces 3
feuilles du fichier de base à 0 salariés vers le fichier de l'entreprise
Lambda qui ne contenait que la seule feuille de données sur les salariés.
L'activation de cette macro fait donc passer le fichier de 1 à 4 feuilles,
l'enregistre comme tel.
Quelques jours plus tard, une 2ème macro sera à son tour activée pour
effectuer l'opération inverse, en supprimant les 3 feuilles ajoutées.
La difficulté que je rencontre est en fait sur la 1ère macro pour ajouter
ces 3 feuilles, car je n'arrive pas à définir le nom de ce fichier (variable
parmi environ 200 fichiers similaires, mais tous de noms différents). Le
seul moment où je peux "capturer" le nom de ce fichier "variable" est au
début de la macro "michdenis". Le problème est que je n'arrive pas à
l'exploiter par la suite dans le code VBA de copie des 3 fichiers que je
t'avais transmis :

Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )
Je te joins, si cela peut être plus clair, le fichier à 0 salarié et 4
feuilles qui est à la base de tout !...
http://cjoint.com/?lrmRXa4VR2
(pour clarifier les idées, j'ai mis un salarié : Jean DUPONT...)

Merci à toi.


a écrit dans le message de news:

Bonjour Antoine,

Si tu prenais quelques instants pour nous expliquer ce que tu essaies de
faire.


Où veux-tu copier ce que tu appelles ta matrice de 3 feuilles ? Dans le
même classeur ? Vers un autre classeur ? si oui, quel est

son nom ?


Salutations!


"Antoine76" a écrit dans le message de news:



Bonjour,

J'ai une petite difficulté que je n'arrive pas à résoudre en VBA sur Excel
2000.
J'ai un fichier "matrice" (unique) avec 4 feuilles, dont 3 servent de base
de copie, pour être recopiées ensembles, par VBA dans un autre fichier à
feuille unique ne contenant que les données (fichier variable parmi env.
200

du même type).
Ces 3 feuilles apportent des statistiques et courbes dont les données sont
sur la feuille unique de ce 2ème fichier.

Dans la macro, je pars du 2ème fichier à feuille unique qui est ouvert,
j'enregistre son nom, et j'ouvre le fichier "matrice" (Noemie de base) à 4
feuilles pour activer une copie de 3 des 4 pages dans celui à page unique.

Le problème : je n'arrive pas à faire fonctionner le nom du fichier
Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )

Je n'ai pas réussi à conbiner favorablement la fonction path avec le nom
du

fichier.
Peut-être cela est-il très bête, mais mon niveau de VBA n'est pas très
élevé

encore !...

Merci pour votre aide à tous.
Antoine







Avatar
Antoine76
Merci Michdenis ,
en fait, je crois que j'ai mal expliqué ce que je voulais faire, à savoir :
Lorsqu'un fichier Lambda parmi env. 200 fichiers du même type(cad à 1 seule
feuille) est ouvert, je veux pouvoir, à la demande, activer une macro qui
ouvrira un fichier différent "Noemie de base" (qui est celui que je t'ai
envoyé en Cjoint), et dont la 1ère feuille est à semblable à celle des 200
fichiers à 1 feuille (sauf que cette 1ère feuille ne contient aucun
salarié - société à effectif zéro !), mais qui possède en plus, 3 autres
feuilles de calcul qui, dans leur formules font référence à des cellules de
la 1ére feuille.
Lorsque la macro est lancée, elle ouvre donc le fichier à 4 feuilles, et
copie les 3 feuilles de calcul sur le fichier lambda, qui passe alors de 1 à
4 feuilles, donnant ainsi tous les renseignements complémentaires souhaités.
Après plusieurs jours, lorsqu'il n'y a plus à exploiter les 3 feuilles
supplémentaires, une autre macro supprimera simplement les 3 feuilles
ajoutées.

Jai donc adapté ce que tu m'a envoyé comme suit :

Sub Macro3()
'
Dim Wk As Workbook
Dim Chemin As String
Chemin = ActiveWorkbook.Path
Set Wk = ActiveWorkbook
Workbooks.Open Filename:=Chemin & "Noemie de base.xls"
With Workbooks("Noemie de base.xls")
With .Worksheets(Array("Statistiques", "Etat Démographique", "Courbe
des âges"))
.Copy Before:=Wk.Sheets(1)
End With
End With
Set Wk = Nothing
End Sub

Mais lorque je lance la macro, si le fichier à 4 feuilles s'ouvre bien, la
macro se bloque, le débogeur se cale sur la ligne "with
.worksheets(Array..." et affiche erreur d'exécutiuon 9 - l'indice
n'appartient pas à la sélection, et aucune feuille n'est copiée.

Je ne sais pas pourquoi !

Je ne sais si cela tout cela t'éclaire un peu ?

Merci à toi

Antoine

"michdenis" a écrit dans le message de news:

Bonjour Antoine,

Pour copier 3 feuilles de ton classeur Perso.xls vers le classeur actif,
Tu peux utiliser cette macro placée dans le Perso.xls

'------------------------------
Sub Copier3FeuillesDuPerso()

Dim Wk As Workbook
Dim Nom As String, Chemin As String
Set Wk = ActiveWorkbook
With Workbooks("Perso.xls")
With .Worksheets(Array("Statistiques", "Etat Démographique", "Courbe
des âges"))

.Copy Before:=Wk.Sheets(1)
End With
End With
Set Wk = Nothing

End Sub
'------------------------------


Salutations!



"Antoine76" a écrit dans le message de news:


Bonjour michdenis
Le fichier "à une seule feuille" est un fichier de données sur les
salariés

d'une société. Il y a environ 200 fichiers de sociétés de ce type. Pour
exploiter les données données de cette feuille unique, il faut des
formules

de statistiques /calcul qui sont sur deux feuilles de caluls ainsi qu'une
troisième pour le graphique.
Compte tenu du nombre de fichier "à une seule feuille", seul un fichier de
base (c'est à dire avec 0 salarié) contient ces 3 autres feuilles. Pour
avoir des fichiers plus légers et réactifs, il ne contiennent que la
feuille

des données, et lorsque l'on a besoin d'exploiter les données par toutes
les

formules, l'idée est de faire, par macro en perso.xls, une copie de ces 3
feuilles du fichier de base à 0 salariés vers le fichier de l'entreprise
Lambda qui ne contenait que la seule feuille de données sur les salariés.
L'activation de cette macro fait donc passer le fichier de 1 à 4 feuilles,
l'enregistre comme tel.
Quelques jours plus tard, une 2ème macro sera à son tour activée pour
effectuer l'opération inverse, en supprimant les 3 feuilles ajoutées.
La difficulté que je rencontre est en fait sur la 1ère macro pour ajouter
ces 3 feuilles, car je n'arrive pas à définir le nom de ce fichier
(variable

parmi environ 200 fichiers similaires, mais tous de noms différents). Le
seul moment où je peux "capturer" le nom de ce fichier "variable" est au
début de la macro "michdenis". Le problème est que je n'arrive pas à
l'exploiter par la suite dans le code VBA de copie des 3 fichiers que je
t'avais transmis :

Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )
Je te joins, si cela peut être plus clair, le fichier à 0 salarié et 4
feuilles qui est à la base de tout !...
http://cjoint.com/?lrmRXa4VR2
(pour clarifier les idées, j'ai mis un salarié : Jean DUPONT...)

Merci à toi.


a écrit dans le message de news:

Bonjour Antoine,

Si tu prenais quelques instants pour nous expliquer ce que tu essaies de
faire.


Où veux-tu copier ce que tu appelles ta matrice de 3 feuilles ? Dans le
même classeur ? Vers un autre classeur ? si oui, quel est

son nom ?


Salutations!


"Antoine76" a écrit dans le message de news:



Bonjour,

J'ai une petite difficulté que je n'arrive pas à résoudre en VBA sur
Excel


2000.
J'ai un fichier "matrice" (unique) avec 4 feuilles, dont 3 servent de
base


de copie, pour être recopiées ensembles, par VBA dans un autre fichier à
feuille unique ne contenant que les données (fichier variable parmi env.
200

du même type).
Ces 3 feuilles apportent des statistiques et courbes dont les données
sont


sur la feuille unique de ce 2ème fichier.

Dans la macro, je pars du 2ème fichier à feuille unique qui est ouvert,
j'enregistre son nom, et j'ouvre le fichier "matrice" (Noemie de base) à
4


feuilles pour activer une copie de 3 des 4 pages dans celui à page
unique.



Le problème : je n'arrive pas à faire fonctionner le nom du fichier
Dim nom, chemin As String
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
Windows("Noemie de base.xls").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Select
Sheets("Courbe des âges").Activate
Application.DisplayAlerts = False
Sheets(Array("Statistiques", "Etat Démographique", "Courbe des
âges")).Copy _
Before:=Workbooks (nom).Sheets(2 )

Je n'ai pas réussi à conbiner favorablement la fonction path avec le nom
du

fichier.
Peut-être cela est-il très bête, mais mon niveau de VBA n'est pas très
élevé

encore !...

Merci pour votre aide à tous.
Antoine