OVH Cloud OVH Cloud

Sauver 1 feuille dans 1 autre Classeur

10 réponses
Avatar
rg
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.
et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené

10 réponses

Avatar
Claude Trouet
Bonjour,

"rg" a écrit dans le message de news:
upHDzw$
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.


Qu'est-ce que cela veut dire ? Que la feuille active a son module VBA
renseigné avec du code
ou alors l'opération doit se faire sans macro ?
S'il s'agit de faire une copie des données un simple copier/coller dans un
nouveau classeur ne suffit-il pas ?
Merci de préciser
Claude


et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené




Avatar
rg
Bj Claude
merci pour ta réponse :
Je ne veux pas utiliser la cde du genre copier/coller
Cette opération doit être faite en VBA
j'ai trouvé le code qui génére un nouveau fichier, avec seulement
la feuille que je veux enregistrer, mais je n'arrive pas à l'enregistrer
d'une maniere automatique (sans boite de dialogue)

voici le code VBA

ThisWorkbook.Sheets.Copy

il me manque le code pour sauvegarder ce nouveau fichier

si tu as une idée ?.... merci

§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§


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

"rg" a écrit dans le message de news:
upHDzw$
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.


Qu'est-ce que cela veut dire ? Que la feuille active a son module VBA
renseigné avec du code
ou alors l'opération doit se faire sans macro ?
S'il s'agit de faire une copie des données un simple copier/coller dans
un

nouveau classeur ne suffit-il pas ?
Merci de préciser
Claude


et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené








Avatar
Joël GARBE
Bonjour,

Ajouter :
activeworkbook.saveas "Cheminfichier.xls"

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"rg" a écrit dans le message de news:

Bj Claude
merci pour ta réponse :
Je ne veux pas utiliser la cde du genre copier/coller
Cette opération doit être faite en VBA
j'ai trouvé le code qui génére un nouveau fichier, avec seulement
la feuille que je veux enregistrer, mais je n'arrive pas à l'enregistrer
d'une maniere automatique (sans boite de dialogue)

voici le code VBA

ThisWorkbook.Sheets.Copy

il me manque le code pour sauvegarder ce nouveau fichier

si tu as une idée ?.... merci

§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§


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

"rg" a écrit dans le message de news:
upHDzw$
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.


Qu'est-ce que cela veut dire ? Que la feuille active a son module VBA
renseigné avec du code
ou alors l'opération doit se faire sans macro ?
S'il s'agit de faire une copie des données un simple copier/coller dans
un

nouveau classeur ne suffit-il pas ?
Merci de préciser
Claude


et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené












Avatar
michdenis
Bonjour Rg,

Cette procédure copie la feuille du classeur actif vers le classeur (ouvert) de ton choix et détruit dans la copie tout
le code contenu dans cette feuille, enregistre et ferme le classeur.


'---------------------------
Sub CopierFeuilleEtEffacerCode()

Dim VbComp As Object
Dim Wk As Workbook, W As String
Dim A As String, NomFeuille As String '

W = ActiveWorkbook.Name
Application.ScreenUpdating = False
'classeur de destinatioin
'Nom du classeur à adapter
Set Wk = Workbooks("Classeur2") '

'nom de la feuille à copier
NomFeuille = "FACTURE"

With ThisWorkbook.Sheets(NomFeuille)
.Copy Wk.Worksheets(Worksheets.Count)
A = Wk.ActiveSheet.CodeName
End With

Set VbComp = Wk.VBProject.VBComponents(A)
With VbComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
'Ferme le classeur de destination et
'enregistre la modification.
Wk.Close True
Workbooks(W).Activate
Set VbComp = Nothing: Set Wk = Nothing

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


Salutations!





"rg" a écrit dans le message de news: upHDzw$
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.
et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené
Avatar
rg
merci Joël pour ta réponse , mais
ce code enregistre le classeur source et non le classeur créé avec
la commande suivante :

ThisWorkbook.Sheets.Copy

rené
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§

"Joël GARBE" a écrit dans le message de news:
418ce57b$0$18216$
Bonjour,

Ajouter :
activeworkbook.saveas "Cheminfichier.xls"

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"rg" a écrit dans le message de news:

Bj Claude
merci pour ta réponse :
Je ne veux pas utiliser la cde du genre copier/coller
Cette opération doit être faite en VBA
j'ai trouvé le code qui génére un nouveau fichier, avec seulement
la feuille que je veux enregistrer, mais je n'arrive pas à l'enregistrer
d'une maniere automatique (sans boite de dialogue)

voici le code VBA

ThisWorkbook.Sheets.Copy

il me manque le code pour sauvegarder ce nouveau fichier

si tu as une idée ?.... merci

§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§


"Claude Trouet" a écrit dans le
message


de
news:
Bonjour,

"rg" a écrit dans le message de news:
upHDzw$
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.


Qu'est-ce que cela veut dire ? Que la feuille active a son module VBA
renseigné avec du code
ou alors l'opération doit se faire sans macro ?
S'il s'agit de faire une copie des données un simple copier/coller
dans



un
nouveau classeur ne suffit-il pas ?
Merci de préciser
Claude


et ce sans avoir de boite de dialogue de confirmation
d'enregistrement




du nouveau fichier.

Merci pour les réponses

rené
















Avatar
Alain CROS
Bonjour.

Légèrement plus simple!

Sub SauveFeuilleSansCode()
Dim Rg As Range
Set Rg = ActiveSheet.UsedRange
With Application
.ScreenUpdating = False
Workbooks.Add (xlWBATWorksheet)
Range(Rg.Address) = Rg
ActiveWorkbook.Close True, CurDir & .PathSeparator & "MaCopy.xls"
.ScreenUpdating = True
End With
Set Rg = Nothing
End Sub

Alain CROS

"rg" a écrit dans le message de news: upHDzw$
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.
et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené





Avatar
michdenis
Bonjour Alain,

Légèrement plus simple!

Effectivement, mais la question n'était pas de copier un "Range" dans une autre feuille ... mais une feuille. Le contenu
d'une feuille de calcul dépasse très largement la copie du contenu d'une plage de cellules !

Moi je veux bien simplifier si le demandeur veut simplifier sa question !

;-)


Salutations!





"Alain CROS" a écrit dans le message de news: %
Bonjour.

Légèrement plus simple!

Sub SauveFeuilleSansCode()
Dim Rg As Range
Set Rg = ActiveSheet.UsedRange
With Application
.ScreenUpdating = False
Workbooks.Add (xlWBATWorksheet)
Range(Rg.Address) = Rg
ActiveWorkbook.Close True, CurDir & .PathSeparator & "MaCopy.xls"
.ScreenUpdating = True
End With
Set Rg = Nothing
End Sub

Alain CROS

"rg" a écrit dans le message de news: upHDzw$
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.
et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené





Avatar
Joël GARBE
Bonjour,

Je le remets, en entier :

Sub TestCopy()
Dim sFile As String
sFile = ActiveWorkbook.Path & "Copie de " & ActiveWorkbook.Name
Sheets.Copy

ActiveWorkbook.SaveAs sFile
ActiveWorkbook.Close False
End Sub


--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"rg" a écrit dans le message de news:

merci Joël pour ta réponse , mais
ce code enregistre le classeur source et non le classeur créé avec
la commande suivante :

ThisWorkbook.Sheets.Copy

rené
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§

"Joël GARBE" a écrit dans le message de news:
418ce57b$0$18216$
Bonjour,

Ajouter :
activeworkbook.saveas "Cheminfichier.xls"

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"rg" a écrit dans le message de news:

Bj Claude
merci pour ta réponse :
Je ne veux pas utiliser la cde du genre copier/coller
Cette opération doit être faite en VBA
j'ai trouvé le code qui génére un nouveau fichier, avec seulement
la feuille que je veux enregistrer, mais je n'arrive pas à
l'enregistrer
d'une maniere automatique (sans boite de dialogue)

voici le code VBA

ThisWorkbook.Sheets.Copy

il me manque le code pour sauvegarder ce nouveau fichier

si tu as une idée ?.... merci

§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§


"Claude Trouet" a écrit dans le
message


de
news:
Bonjour,

"rg" a écrit dans le message de news:
upHDzw$
Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.


Qu'est-ce que cela veut dire ? Que la feuille active a son module VBA
renseigné avec du code
ou alors l'opération doit se faire sans macro ?
S'il s'agit de faire une copie des données un simple copier/coller
dans



un
nouveau classeur ne suffit-il pas ?
Merci de préciser
Claude


et ce sans avoir de boite de dialogue de confirmation
d'enregistrement




du nouveau fichier.

Merci pour les réponses

rené




















Avatar
rg
Slt Alain,

Ton code bloque à la ligne
Range(Rg.Address) = Rg
avec le message suivant Erreur d'execution '1004'
Erreur définie par
l'application ou par l'objet

je n'ai pas de solution !
est ce à cause de ma version d'Excel "97 SR2" ?

Merci pour ta réponse

René
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§

"Alain CROS" a écrit dans le message de news:
#
Bonjour.

Légèrement plus simple!

Sub SauveFeuilleSansCode()
Dim Rg As Range
Set Rg = ActiveSheet.UsedRange
With Application
.ScreenUpdating = False
Workbooks.Add (xlWBATWorksheet)
Range(Rg.Address) = Rg
ActiveWorkbook.Close True, CurDir & .PathSeparator & "MaCopy.xls"
.ScreenUpdating = True
End With
Set Rg = Nothing
End Sub

Alain CROS

"rg" a écrit dans le message de news:
upHDzw$


Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.
et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené









Avatar
Frédéric Sigonneau
Bonjour,

Si tu lances ton code à l'aide d'un CommandButton, essaye en mettant sa
propriété TakeFocusOnClick sur False.

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Slt Alain,

Ton code bloque à la ligne
Range(Rg.Address) = Rg
avec le message suivant Erreur d'execution '1004'
Erreur définie par
l'application ou par l'objet

je n'ai pas de solution !
est ce à cause de ma version d'Excel "97 SR2" ?

Merci pour ta réponse

René
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§

"Alain CROS" a écrit dans le message de news:
#

Bonjour.

Légèrement plus simple!

Sub SauveFeuilleSansCode()
Dim Rg As Range
Set Rg = ActiveSheet.UsedRange
With Application
.ScreenUpdating = False
Workbooks.Add (xlWBATWorksheet)
Range(Rg.Address) = Rg
ActiveWorkbook.Close True, CurDir & .PathSeparator & "MaCopy.xls"
.ScreenUpdating = True
End With
Set Rg = Nothing
End Sub

Alain CROS


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



upHDzw$

Je désire sauver la feuille active dans un autre classeur
sans les macros, ni code VBA.
et ce sans avoir de boite de dialogue de confirmation d'enregistrement
du nouveau fichier.

Merci pour les réponses

rené