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

probleme de copie de feuille pointu...

12 réponses
Avatar
stephprod
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille nommée
"tata" de ce fichier, qu il me demande quel autre fichier excel à ouvrir
avec une boite de dialogue sous la forme comme un explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le nouveau
fichier (celui avec le nom variable) sans aucune confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me demande
une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le premier, il
referme le deuxieme sans sauvegarder ...

merci d'avance

stefane

10 réponses

1 2
Avatar
Daniel.C
Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille nommée
"tata" de ce fichier, qu il me demande quel autre fichier excel à ouvrir
avec une boite de dialogue sous la forme comme un explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le premier, il
referme le deuxieme sans sauvegarder ...

merci d'avance

stefane





Avatar
stephprod
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne copie pas
les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier excel à
ouvrir avec une boite de dialogue sous la forme comme un explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le premier,
il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane









Avatar
Daniel.C
Après test, les feuilles commençant pa "P_" sont bien copiées dans le
classeur contenant la macro (à moins qu'il ne faille copier les feuilles
depuis le classeur contenant la macro vers le classeur ouvert par
l'utilisateur ?)
Daniel
"stephprod" a écrit dans le message de news:
482dc06d$0$873$
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne copie pas
les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier excel
à ouvrir avec une boite de dialogue sous la forme comme un explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le premier,
il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane













Avatar
stephprod
ben bizarre chez moi ca marche pas...



"Daniel.C" a écrit dans le message de news:

Après test, les feuilles commençant pa "P_" sont bien copiées dans le
classeur contenant la macro (à moins qu'il ne faille copier les feuilles
depuis le classeur contenant la macro vers le classeur ouvert par
l'utilisateur ?)
Daniel
"stephprod" a écrit dans le message de news:
482dc06d$0$873$
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne copie
pas les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier excel
à ouvrir avec une boite de dialogue sous la forme comme un explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune
confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le premier,
il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane

















Avatar
stephprod
ca plante debogage au niveau du next sh
et il n a rien copié

les feuilles commençant par "P_" doivent bien etre copiées dans le
classeur contenant la macro!
merci d avance stefane


"stephprod" a écrit dans le message de news:
482dc58b$0$918$
ben bizarre chez moi ca marche pas...



"Daniel.C" a écrit dans le message de news:

Après test, les feuilles commençant pa "P_" sont bien copiées dans le
classeur contenant la macro (à moins qu'il ne faille copier les feuilles
depuis le classeur contenant la macro vers le classeur ouvert par
l'utilisateur ?)
Daniel
"stephprod" a écrit dans le message de news:
482dc06d$0$873$
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne copie
pas les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier
excel à ouvrir avec une boite de dialogue sous la forme comme un
explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune
confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le
premier, il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane





















Avatar
Daniel.C
Le message d'erreur, c'est quoi ? il est possible qu'il y ait, dans le
classeur contenant la macro une feuille portant le même nom que la feuille à
copier.
Daniel
"stephprod" a écrit dans le message de news:
482dc67e$0$870$
ca plante debogage au niveau du next sh
et il n a rien copié

les feuilles commençant par "P_" doivent bien etre copiées dans le
classeur contenant la macro!
merci d avance stefane


"stephprod" a écrit dans le message de news:
482dc58b$0$918$
ben bizarre chez moi ca marche pas...



"Daniel.C" a écrit dans le message de news:

Après test, les feuilles commençant pa "P_" sont bien copiées dans le
classeur contenant la macro (à moins qu'il ne faille copier les feuilles
depuis le classeur contenant la macro vers le classeur ouvert par
l'utilisateur ?)
Daniel
"stephprod" a écrit dans le message de news:
482dc06d$0$873$
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne copie
pas les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier
excel à ouvrir avec une boite de dialogue sous la forme comme un
explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune
confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le
premier, il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane

























Avatar
Daniel.C
PS. Tu trouveras à l'adresse suivante :
http://cjoint.com/?fquyDIV4h2
le classeur avec lequel j'ai fait le test.
Daniel
"stephprod" a écrit dans le message de news:
482dc67e$0$870$
ca plante debogage au niveau du next sh
et il n a rien copié

les feuilles commençant par "P_" doivent bien etre copiées dans le
classeur contenant la macro!
merci d avance stefane


"stephprod" a écrit dans le message de news:
482dc58b$0$918$
ben bizarre chez moi ca marche pas...



"Daniel.C" a écrit dans le message de news:

Après test, les feuilles commençant pa "P_" sont bien copiées dans le
classeur contenant la macro (à moins qu'il ne faille copier les feuilles
depuis le classeur contenant la macro vers le classeur ouvert par
l'utilisateur ?)
Daniel
"stephprod" a écrit dans le message de news:
482dc06d$0$873$
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne copie
pas les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier
excel à ouvrir avec une boite de dialogue sous la forme comme un
explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune
confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le
premier, il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane

























Avatar
maud s
oui effectivment ca marche avec ton fichier merci bcps.....
mais chez moi ca plante....

je ne sais pas pourkoi .... je vais te dire dans un prochain post mon
message d erreur car là j ai quitté le bureau...

merci encore pour ton aide précieuse...

stefane



"Daniel.C" a écrit dans le message de news:

PS. Tu trouveras à l'adresse suivante :
http://cjoint.com/?fquyDIV4h2
le classeur avec lequel j'ai fait le test.
Daniel
"stephprod" a écrit dans le message de news:
482dc67e$0$870$
ca plante debogage au niveau du next sh
et il n a rien copié

les feuilles commençant par "P_" doivent bien etre copiées dans le
classeur contenant la macro!
merci d avance stefane


"stephprod" a écrit dans le message de news:
482dc58b$0$918$
ben bizarre chez moi ca marche pas...



"Daniel.C" a écrit dans le message de news:

Après test, les feuilles commençant pa "P_" sont bien copiées dans le
classeur contenant la macro (à moins qu'il ne faille copier les
feuilles depuis le classeur contenant la macro vers le classeur ouvert
par l'utilisateur ?)
Daniel
"stephprod" a écrit dans le message de news:
482dc06d$0$873$
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne copie
pas les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier
excel à ouvrir avec une boite de dialogue sous la forme comme un
explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune
confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le
premier, il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane





























Avatar
maud s
de plus il ne ferme pas le fichier source des sheets "p_".. sans
sauvegarder...

pourkoi ca pourait planter????
je pense parce que dans mon fichier dans lekel je dois rappatrier mes sheets
"p_" celui ci contient des variable et notamment j utilise deja une partie
de ce code.. peut etre que la variable sh est toujours en memoire dans mon
VBA?? non?

si oui comment vider la memoire de excel de ces variables?

merci stefane


"Daniel.C" a écrit dans le message de news:

PS. Tu trouveras à l'adresse suivante :
http://cjoint.com/?fquyDIV4h2
le classeur avec lequel j'ai fait le test.
Daniel
"stephprod" a écrit dans le message de news:
482dc67e$0$870$
ca plante debogage au niveau du next sh
et il n a rien copié

les feuilles commençant par "P_" doivent bien etre copiées dans le
classeur contenant la macro!
merci d avance stefane


"stephprod" a écrit dans le message de news:
482dc58b$0$918$
ben bizarre chez moi ca marche pas...



"Daniel.C" a écrit dans le message de news:

Après test, les feuilles commençant pa "P_" sont bien copiées dans le
classeur contenant la macro (à moins qu'il ne faille copier les
feuilles depuis le classeur contenant la macro vers le classeur ouvert
par l'utilisateur ?)
Daniel
"stephprod" a écrit dans le message de news:
482dc06d$0$873$
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne copie
pas les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier
excel à ouvrir avec une boite de dialogue sous la forme comme un
explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans l
explorer il me recopie tous les onglets commencant par "P_" dans le
nouveau fichier (celui avec le nom variable) sans aucune
confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le
premier, il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane





























Avatar
Daniel.C
OK, il ne ferme pas le fichier :
Ajoute :
Workbooks(Fich).Close False
après
Next Sh
Pour la copie, il est important de mettre des minuscules ou des majuscules;
je copie les feuilles commençant par "P_", par "p_".
Daniel
"maud s" a écrit dans le message de news:
%
de plus il ne ferme pas le fichier source des sheets "p_".. sans
sauvegarder...

pourkoi ca pourait planter????
je pense parce que dans mon fichier dans lekel je dois rappatrier mes
sheets "p_" celui ci contient des variable et notamment j utilise deja une
partie de ce code.. peut etre que la variable sh est toujours en memoire
dans mon VBA?? non?

si oui comment vider la memoire de excel de ces variables?

merci stefane


"Daniel.C" a écrit dans le message de news:

PS. Tu trouveras à l'adresse suivante :
http://cjoint.com/?fquyDIV4h2
le classeur avec lequel j'ai fait le test.
Daniel
"stephprod" a écrit dans le message de news:
482dc67e$0$870$
ca plante debogage au niveau du next sh
et il n a rien copié

les feuilles commençant par "P_" doivent bien etre copiées dans le
classeur contenant la macro!
merci d avance stefane


"stephprod" a écrit dans le message de news:
482dc58b$0$918$
ben bizarre chez moi ca marche pas...



"Daniel.C" a écrit dans le message de news:

Après test, les feuilles commençant pa "P_" sont bien copiées dans le
classeur contenant la macro (à moins qu'il ne faille copier les
feuilles depuis le classeur contenant la macro vers le classeur ouvert
par l'utilisateur ?)
Daniel
"stephprod" a écrit dans le message de news:
482dc06d$0$873$
bonjour et merci

ce code marche tres bien pour ouvrir le fichier excel mais il ne
copie pas les onglets commencant par "P_"
merci de ton aide

Stefane

"Daniel.C" a écrit dans le message de news:

Bonjour.
Essaie (non testé) :

Sub test1()
Dim Fich, sh As Worksheet
Fich = Application.GetOpenFilename("XL Files (*.xl*), *.xl*")
If Fich <> False Then
Workbooks.Open Fich
For Each sh In ActiveWorkbook.Sheets
If Left(sh.Name, 2) = "P_" Then
sh.Copy After:=ThisWorkbook.Sheets(Sheets.Count)
End If
Next sh
End If
End Sub

Cordialement.
Daniel
"stephprod" a écrit dans le message de news:
482d7e24$0$862$
Bonjour,

voila le truc a faire:

J ai un fichier xls ouvert dont le nom est variable,
je voudrais lors d un click sur un bouton formulaire d' une feuille
nommée "tata" de ce fichier, qu il me demande quel autre fichier
excel à ouvrir avec une boite de dialogue sous la forme comme un
explorer...

je fais cela pour que une fois le seconde fichier sélectionné dans
l explorer il me recopie tous les onglets commencant par "P_" dans
le nouveau fichier (celui avec le nom variable) sans aucune
confirmation(1)

(1) sans aucune confirmation parce que lorsque je fais la copie
manuellement, certaines feuilles contiennent des champs et là il me
demande une confirmationde copie.

et ensuite apres copie des onglets du deuxieme fichier vers le
premier, il referme le deuxieme sans sauvegarder ...

merci d'avance

stefane

































1 2