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

Sauvegarder un onglet

6 réponses
Avatar
rthompson
Bonjour à toutes et tous

J'espère que le temps dont nous bénéficions en Europe occidentale ne vous
cause pas trop de soucis

Et comme il est impossible de sortir autant en profiter pour Eceller entre
amis

Quelqu'un se rappel-t-il du fil sur la sauve garde de fichier?
Je ne la retrouve pas

Ce que je cherche à faire et ceci

Dans un fichier nommé revendeurs j'ai trois onglets
Entree, Commande, Jeroen

Grâce à votre aide j'ai déjà pas mal avance (voir code ci-dessous)
Cette macro me sauve le fichier total sous le nom de la cellule "Entree /
B4 et la date et l'heure"

Ce que je cherche à faire est de sauver un fichier sous ce nom la
Mais qui ne contient que la feuille Commande

J'ai un peu chipoté avec le code de JB mais j'y arrive pas
Alors si quelqu'un à une piste je suis preneur


D'avance merci
Et si vous devez circuler aujourd'hui Faites gaffe, je tiens tellement à
vous
Enfin, surtout à votre aide :-)))

A bientôt et bon dimanche

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Showordered()
Application.ScreenUpdating = False
If MsgBox("Sauver la commande?", vbYesNo, "OUI") = vbYes Then


' This makes sure that the Commande sheet is empty
Sheets("Commande").Range("A1:P150").ClearContents

' This hides all the lines on the Entree sheet that are not needed
Range([f1], [f185]).EntireRow.Show
For Each C In Range([f1], [f185])
C.EntireRow.Hidden = Not ((C.Value > 0))
Next C
Dim rg As Range
On Error Resume Next
With ThisWorkbook
With .Worksheets("Entree")
Set rg = .Range("e1:e185"). _
SpecialCells(xlCellTypeVisible).EntireRow
End With
With .Worksheets("Commande")
rg.Copy
.Range("A1").PasteSpecial xlPasteAll
.Range("A1").Select

' This parts saves a copy of the file with the date added
Dim strDate As String
Dim MyCell
MyCell = Sheets("Commande").Range("B4").Text
Count = Len(ActiveWorkbook.Name)
Name = (B4)
strDate = Format(Date, "yyyy-mm-dd") & " " & Format(Time,
"h-mm")
ThisWorkbook.SaveCopyAs Filename:=MyCell & " - " & strDate
& ".xls"
End With
End With

' This resets the sheet Entree back to it's ariginal state

Application.CutCopyMode = False
Range("A1").Select
Sheets("Entree").Select
Cells.Select
Selection.EntireRow.Hidden = False
Range("F13:F137").Select
Selection.ClearContents
Range("C1").Select
Application.ScreenUpdating = True
End If
End Sub

6 réponses

Avatar
Pounet95
Bonjour,

Une possibilité :
tu enregistres le fichier complet,
tu supprimes les onglets inutiles,
tu enregistres sous un autre nom

..... ce qui oblige à réouvrir le 1er fichier si besoin

ou encore :
tu ouvres un nouveau classeur
tu y recopies la feuille voulue
tu l'enregistres

'------------------ un p'tiot coup d'enregistreur de macros

Sub DUPLIQUER_ONGLET_AUTRE_CLASSEUR()
'
' DUPLIQUER_ONGLET_AUTRE_CLASSEUR Macro
'
Sheets("Commandes").select
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Entrées_Bis"
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"C:UsersPounetDocumentsCopies_Commandes.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:úlse
End Sub


.... cette solution a l'avantage de conserver les 2 fichiers ouverts en cas
de besoin

Pounet95


"rthompson" a écrit dans le message de
news:
Bonjour à toutes et tous

J'espère que le temps dont nous bénéficions en Europe occidentale ne vous
cause pas trop de soucis

Et comme il est impossible de sortir autant en profiter pour Eceller entre
amis

Quelqu'un se rappel-t-il du fil sur la sauve garde de fichier?
Je ne la retrouve pas

Ce que je cherche à faire et ceci

Dans un fichier nommé revendeurs j'ai trois onglets
Entree, Commande, Jeroen

Grâce à votre aide j'ai déjà pas mal avance (voir code ci-dessous)
Cette macro me sauve le fichier total sous le nom de la cellule "Entree /
B4 et la date et l'heure"

Ce que je cherche à faire est de sauver un fichier sous ce nom la
Mais qui ne contient que la feuille Commande

J'ai un peu chipoté avec le code de JB mais j'y arrive pas
Alors si quelqu'un à une piste je suis preneur


D'avance merci
Et si vous devez circuler aujourd'hui Faites gaffe, je tiens tellement à
vous
Enfin, surtout à votre aide :-)))

A bientôt et bon dimanche

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Showordered()
Application.ScreenUpdating = False
If MsgBox("Sauver la commande?", vbYesNo, "OUI") = vbYes Then


' This makes sure that the Commande sheet is empty
Sheets("Commande").Range("A1:P150").ClearContents

' This hides all the lines on the Entree sheet that are not needed
Range([f1], [f185]).EntireRow.Show
For Each C In Range([f1], [f185])
C.EntireRow.Hidden = Not ((C.Value > 0))
Next C
Dim rg As Range
On Error Resume Next
With ThisWorkbook
With .Worksheets("Entree")
Set rg = .Range("e1:e185"). _
SpecialCells(xlCellTypeVisible).EntireRow
End With
With .Worksheets("Commande")
rg.Copy
.Range("A1").PasteSpecial xlPasteAll
.Range("A1").Select

' This parts saves a copy of the file with the date added
Dim strDate As String
Dim MyCell
MyCell = Sheets("Commande").Range("B4").Text
Count = Len(ActiveWorkbook.Name)
Name = (B4)
strDate = Format(Date, "yyyy-mm-dd") & " " & Format(Time,
"h-mm")
ThisWorkbook.SaveCopyAs Filename:=MyCell & " - " & strDate
& ".xls"
End With
End With

' This resets the sheet Entree back to it's ariginal state

Application.CutCopyMode = False
Range("A1").Select
Sheets("Entree").Select
Cells.Select
Selection.EntireRow.Hidden = False
Range("F13:F137").Select
Selection.ClearContents
Range("C1").Select
Application.ScreenUpdating = True
End If
End Sub





Avatar
rthompson
C'est marrant

T'es arrivé à la même coclusion que moi
Et l'enregistrement donne un résultat très similaire

Mais je cherche à faire quelque chose de transparent
L'idée est que l'utilisateur indique le nombre souhaité de certains objets
Et puis qu'il click sur Confirmer Commande et qu'il ne vois pas ce qui se
passe

Et que le fichier ce retrouve sur le serveur ou la logistique le prend

Mais merci pour ton aide et à bientôt

Rex




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

Bonjour,

Une possibilité :
tu enregistres le fichier complet,
tu supprimes les onglets inutiles,
tu enregistres sous un autre nom

..... ce qui oblige à réouvrir le 1er fichier si besoin

ou encore :
tu ouvres un nouveau classeur
tu y recopies la feuille voulue
tu l'enregistres

'------------------ un p'tiot coup d'enregistreur de macros

Sub DUPLIQUER_ONGLET_AUTRE_CLASSEUR()
'
' DUPLIQUER_ONGLET_AUTRE_CLASSEUR Macro
'
Sheets("Commandes").select
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Entrées_Bis"
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"C:UsersPounetDocumentsCopies_Commandes.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:úlse
End Sub


.... cette solution a l'avantage de conserver les 2 fichiers ouverts en
cas de besoin

Pounet95


"rthompson" a écrit dans le message de
news:
Bonjour à toutes et tous

J'espère que le temps dont nous bénéficions en Europe occidentale ne vous
cause pas trop de soucis

Et comme il est impossible de sortir autant en profiter pour Eceller
entre amis

Quelqu'un se rappel-t-il du fil sur la sauve garde de fichier?
Je ne la retrouve pas

Ce que je cherche à faire et ceci

Dans un fichier nommé revendeurs j'ai trois onglets
Entree, Commande, Jeroen

Grâce à votre aide j'ai déjà pas mal avance (voir code ci-dessous)
Cette macro me sauve le fichier total sous le nom de la cellule "Entree
/ B4 et la date et l'heure"

Ce que je cherche à faire est de sauver un fichier sous ce nom la
Mais qui ne contient que la feuille Commande

J'ai un peu chipoté avec le code de JB mais j'y arrive pas
Alors si quelqu'un à une piste je suis preneur


D'avance merci
Et si vous devez circuler aujourd'hui Faites gaffe, je tiens tellement
à vous
Enfin, surtout à votre aide :-)))

A bientôt et bon dimanche

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Showordered()
Application.ScreenUpdating = False
If MsgBox("Sauver la commande?", vbYesNo, "OUI") = vbYes Then


' This makes sure that the Commande sheet is empty
Sheets("Commande").Range("A1:P150").ClearContents

' This hides all the lines on the Entree sheet that are not needed
Range([f1], [f185]).EntireRow.Show
For Each C In Range([f1], [f185])
C.EntireRow.Hidden = Not ((C.Value > 0))
Next C
Dim rg As Range
On Error Resume Next
With ThisWorkbook
With .Worksheets("Entree")
Set rg = .Range("e1:e185"). _
SpecialCells(xlCellTypeVisible).EntireRow
End With
With .Worksheets("Commande")
rg.Copy
.Range("A1").PasteSpecial xlPasteAll
.Range("A1").Select

' This parts saves a copy of the file with the date added
Dim strDate As String
Dim MyCell
MyCell = Sheets("Commande").Range("B4").Text
Count = Len(ActiveWorkbook.Name)
Name = (B4)
strDate = Format(Date, "yyyy-mm-dd") & " " & Format(Time,
"h-mm")
ThisWorkbook.SaveCopyAs Filename:=MyCell & " - " &
strDate & ".xls"
End With
End With

' This resets the sheet Entree back to it's ariginal state

Application.CutCopyMode = False
Range("A1").Select
Sheets("Entree").Select
Cells.Select
Selection.EntireRow.Hidden = False
Range("F13:F137").Select
Selection.ClearContents
Range("C1").Select
Application.ScreenUpdating = True
End If
End Sub








Avatar
Pounet95
Re,

....... c'était pas vraiment écrit ces options "transparence" et "réseau"
!!!!
En fonction du moyen que tu utilises pour valider, AMHA :
- tu empêches le rafraichissement écran et tu ne le remets que lorsque c'est
enregistré sur le réseau avec un nom que tu auras fait calculer ou imposé
M'est avis que ce n'est pas si compliqué que cela sauf que moi et les usages
en réseau, je ne maitrise pas vraiment et que je les évite tant que je peux,
quitte à faire des sauvegardes sur ledit réseau ensuite.
Sans compter les temps de réponse ....

Pounet95

"rthompson" a écrit dans le message de
news:u%
C'est marrant

T'es arrivé à la même coclusion que moi
Et l'enregistrement donne un résultat très similaire

Mais je cherche à faire quelque chose de transparent
L'idée est que l'utilisateur indique le nombre souhaité de certains objets
Et puis qu'il click sur Confirmer Commande et qu'il ne vois pas ce qui se
passe

Et que le fichier ce retrouve sur le serveur ou la logistique le prend

Mais merci pour ton aide et à bientôt

Rex




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

Bonjour,

Une possibilité :
tu enregistres le fichier complet,
tu supprimes les onglets inutiles,
tu enregistres sous un autre nom

..... ce qui oblige à réouvrir le 1er fichier si besoin

ou encore :
tu ouvres un nouveau classeur
tu y recopies la feuille voulue
tu l'enregistres

'------------------ un p'tiot coup d'enregistreur de macros

Sub DUPLIQUER_ONGLET_AUTRE_CLASSEUR()
'
' DUPLIQUER_ONGLET_AUTRE_CLASSEUR Macro
'
Sheets("Commandes").select
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Entrées_Bis"
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"C:UsersPounetDocumentsCopies_Commandes.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:úlse
End Sub


.... cette solution a l'avantage de conserver les 2 fichiers ouverts en
cas de besoin

Pounet95


"rthompson" a écrit dans le message de
news:
Bonjour à toutes et tous

J'espère que le temps dont nous bénéficions en Europe occidentale ne
vous cause pas trop de soucis

Et comme il est impossible de sortir autant en profiter pour Eceller
entre amis

Quelqu'un se rappel-t-il du fil sur la sauve garde de fichier?
Je ne la retrouve pas

Ce que je cherche à faire et ceci

Dans un fichier nommé revendeurs j'ai trois onglets
Entree, Commande, Jeroen

Grâce à votre aide j'ai déjà pas mal avance (voir code ci-dessous)
Cette macro me sauve le fichier total sous le nom de la cellule "Entree
/ B4 et la date et l'heure"

Ce que je cherche à faire est de sauver un fichier sous ce nom la
Mais qui ne contient que la feuille Commande

J'ai un peu chipoté avec le code de JB mais j'y arrive pas
Alors si quelqu'un à une piste je suis preneur


D'avance merci
Et si vous devez circuler aujourd'hui Faites gaffe, je tiens tellement
à vous
Enfin, surtout à votre aide :-)))

A bientôt et bon dimanche

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Showordered()
Application.ScreenUpdating = False
If MsgBox("Sauver la commande?", vbYesNo, "OUI") = vbYes Then


' This makes sure that the Commande sheet is empty
Sheets("Commande").Range("A1:P150").ClearContents

' This hides all the lines on the Entree sheet that are not needed
Range([f1], [f185]).EntireRow.Show
For Each C In Range([f1], [f185])
C.EntireRow.Hidden = Not ((C.Value > 0))
Next C
Dim rg As Range
On Error Resume Next
With ThisWorkbook
With .Worksheets("Entree")
Set rg = .Range("e1:e185"). _
SpecialCells(xlCellTypeVisible).EntireRow
End With
With .Worksheets("Commande")
rg.Copy
.Range("A1").PasteSpecial xlPasteAll
.Range("A1").Select

' This parts saves a copy of the file with the date added
Dim strDate As String
Dim MyCell
MyCell = Sheets("Commande").Range("B4").Text
Count = Len(ActiveWorkbook.Name)
Name = (B4)
strDate = Format(Date, "yyyy-mm-dd") & " " &
Format(Time, "h-mm")
ThisWorkbook.SaveCopyAs Filename:=MyCell & " - " &
strDate & ".xls"
End With
End With

' This resets the sheet Entree back to it's ariginal state

Application.CutCopyMode = False
Range("A1").Select
Sheets("Entree").Select
Cells.Select
Selection.EntireRow.Hidden = False
Range("F13:F137").Select
Selection.ClearContents
Range("C1").Select
Application.ScreenUpdating = True
End If
End Sub












Avatar
Corona
Un peu gourmant l'enregistreur

Le code ci-dessous fait la même chose
Sub DUPLIQUER_ONGLET_AUTRE_CLASSEUR()
'
' DUPLIQUER_ONGLET_AUTRE_CLASSEUR Macro
'
Sheets("C").Cells.Copy ' Ici il faut être sûr que l'on a le focus
sur le bon classeur
Workbooks.Add
With ActiveSheet
.Paste: .Name = "Entrées_Bis"
End With
ActiveWorkbook.SaveAs Filename:=
"C:UsersPounetDocumentsCopies_Commandes.xlsx", FileFormat:=
xlOpenXMLWorkbook, CreateBackup:úlse
end sub

Et alternative plus courte et plus rapide que j'utilise

Sub CopieFeuille
ThisWorkbook.Sheets("C").Copy
ActiveSheet.Name = "Entrées_Bis" ' Ligne à supprimer évidemment si
on garde le même nom
' Ici le code pour sauver
' ActiveWorkbook.SaveAs Filename:=
End sub

Philippe Tulliez

Pounet95 a écrit :
Bonjour,

Une possibilité :
tu enregistres le fichier complet,
tu supprimes les onglets inutiles,
tu enregistres sous un autre nom

...... ce qui oblige à réouvrir le 1er fichier si besoin

ou encore :
tu ouvres un nouveau classeur
tu y recopies la feuille voulue
tu l'enregistres

'------------------ un p'tiot coup d'enregistreur de macros

Sub DUPLIQUER_ONGLET_AUTRE_CLASSEUR()
'
' DUPLIQUER_ONGLET_AUTRE_CLASSEUR Macro
'
Sheets("Commandes").select
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Entrées_Bis"
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"C:UsersPounetDocumentsCopies_Commandes.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:úlse
End Sub


..... cette solution a l'avantage de conserver les 2 fichiers ouverts en
cas de besoin

Pounet95


"rthompson" a écrit dans le message
de news:
Bonjour à toutes et tous

J'espère que le temps dont nous bénéficions en Europe occidentale ne
vous cause pas trop de soucis

Et comme il est impossible de sortir autant en profiter pour Eceller
entre amis

Quelqu'un se rappel-t-il du fil sur la sauve garde de fichier?
Je ne la retrouve pas

Ce que je cherche à faire et ceci

Dans un fichier nommé revendeurs j'ai trois onglets
Entree, Commande, Jeroen

Grâce à votre aide j'ai déjà pas mal avance (voir code ci-dessous)
Cette macro me sauve le fichier total sous le nom de la cellule
"Entree / B4 et la date et l'heure"

Ce que je cherche à faire est de sauver un fichier sous ce nom la
Mais qui ne contient que la feuille Commande

J'ai un peu chipoté avec le code de JB mais j'y arrive pas
Alors si quelqu'un à une piste je suis preneur


D'avance merci
Et si vous devez circuler aujourd'hui Faites gaffe, je tiens
tellement à vous
Enfin, surtout à votre aide :-)))

A bientôt et bon dimanche

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Showordered()
Application.ScreenUpdating = False
If MsgBox("Sauver la commande?", vbYesNo, "OUI") = vbYes Then


' This makes sure that the Commande sheet is empty
Sheets("Commande").Range("A1:P150").ClearContents

' This hides all the lines on the Entree sheet that are not needed
Range([f1], [f185]).EntireRow.Show
For Each C In Range([f1], [f185])
C.EntireRow.Hidden = Not ((C.Value > 0))
Next C
Dim rg As Range
On Error Resume Next
With ThisWorkbook
With .Worksheets("Entree")
Set rg = .Range("e1:e185"). _
SpecialCells(xlCellTypeVisible).EntireRow
End With
With .Worksheets("Commande")
rg.Copy
.Range("A1").PasteSpecial xlPasteAll
.Range("A1").Select

' This parts saves a copy of the file with the date added
Dim strDate As String
Dim MyCell
MyCell = Sheets("Commande").Range("B4").Text
Count = Len(ActiveWorkbook.Name)
Name = (B4)
strDate = Format(Date, "yyyy-mm-dd") & " " &
Format(Time, "h-mm")
ThisWorkbook.SaveCopyAs Filename:=MyCell & " - " &
strDate & ".xls"
End With
End With

' This resets the sheet Entree back to it's ariginal state

Application.CutCopyMode = False
Range("A1").Select
Sheets("Entree").Select
Cells.Select
Selection.EntireRow.Hidden = False
Range("F13:F137").Select
Selection.ClearContents
Range("C1").Select
Application.ScreenUpdating = True
End If
End Sub








Avatar
rthompson
Tout à fait d'accord

Je continue mes recherches en espérant qu'un des Dieux de ce groupe
redescende parmi nous ;-)))

A bientôt et merci

Rex


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

Re,

....... c'était pas vraiment écrit ces options "transparence" et "réseau"
!!!!
En fonction du moyen que tu utilises pour valider, AMHA :
- tu empêches le rafraichissement écran et tu ne le remets que lorsque
c'est enregistré sur le réseau avec un nom que tu auras fait calculer ou
imposé
M'est avis que ce n'est pas si compliqué que cela sauf que moi et les
usages en réseau, je ne maitrise pas vraiment et que je les évite tant que
je peux, quitte à faire des sauvegardes sur ledit réseau ensuite.
Sans compter les temps de réponse ....

Pounet95

"rthompson" a écrit dans le message de
news:u%
C'est marrant

T'es arrivé à la même coclusion que moi
Et l'enregistrement donne un résultat très similaire

Mais je cherche à faire quelque chose de transparent
L'idée est que l'utilisateur indique le nombre souhaité de certains
objets
Et puis qu'il click sur Confirmer Commande et qu'il ne vois pas ce qui se
passe

Et que le fichier ce retrouve sur le serveur ou la logistique le prend

Mais merci pour ton aide et à bientôt

Rex




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

Bonjour,

Une possibilité :
tu enregistres le fichier complet,
tu supprimes les onglets inutiles,
tu enregistres sous un autre nom

..... ce qui oblige à réouvrir le 1er fichier si besoin

ou encore :
tu ouvres un nouveau classeur
tu y recopies la feuille voulue
tu l'enregistres

'------------------ un p'tiot coup d'enregistreur de macros

Sub DUPLIQUER_ONGLET_AUTRE_CLASSEUR()
'
' DUPLIQUER_ONGLET_AUTRE_CLASSEUR Macro
'
Sheets("Commandes").select
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Entrées_Bis"
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"C:UsersPounetDocumentsCopies_Commandes.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:úlse
End Sub


.... cette solution a l'avantage de conserver les 2 fichiers ouverts en
cas de besoin

Pounet95


"rthompson" a écrit dans le message
de news:
Bonjour à toutes et tous

J'espère que le temps dont nous bénéficions en Europe occidentale ne
vous cause pas trop de soucis

Et comme il est impossible de sortir autant en profiter pour Eceller
entre amis

Quelqu'un se rappel-t-il du fil sur la sauve garde de fichier?
Je ne la retrouve pas

Ce que je cherche à faire et ceci

Dans un fichier nommé revendeurs j'ai trois onglets
Entree, Commande, Jeroen

Grâce à votre aide j'ai déjà pas mal avance (voir code ci-dessous)
Cette macro me sauve le fichier total sous le nom de la cellule "Entree
/ B4 et la date et l'heure"

Ce que je cherche à faire est de sauver un fichier sous ce nom la
Mais qui ne contient que la feuille Commande

J'ai un peu chipoté avec le code de JB mais j'y arrive pas
Alors si quelqu'un à une piste je suis preneur


D'avance merci
Et si vous devez circuler aujourd'hui Faites gaffe, je tiens
tellement à vous
Enfin, surtout à votre aide :-)))

A bientôt et bon dimanche

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Showordered()
Application.ScreenUpdating = False
If MsgBox("Sauver la commande?", vbYesNo, "OUI") = vbYes Then


' This makes sure that the Commande sheet is empty
Sheets("Commande").Range("A1:P150").ClearContents

' This hides all the lines on the Entree sheet that are not needed
Range([f1], [f185]).EntireRow.Show
For Each C In Range([f1], [f185])
C.EntireRow.Hidden = Not ((C.Value > 0))
Next C
Dim rg As Range
On Error Resume Next
With ThisWorkbook
With .Worksheets("Entree")
Set rg = .Range("e1:e185"). _
SpecialCells(xlCellTypeVisible).EntireRow
End With
With .Worksheets("Commande")
rg.Copy
.Range("A1").PasteSpecial xlPasteAll
.Range("A1").Select

' This parts saves a copy of the file with the date added
Dim strDate As String
Dim MyCell
MyCell = Sheets("Commande").Range("B4").Text
Count = Len(ActiveWorkbook.Name)
Name = (B4)
strDate = Format(Date, "yyyy-mm-dd") & " " &
Format(Time, "h-mm")
ThisWorkbook.SaveCopyAs Filename:=MyCell & " - " &
strDate & ".xls"
End With
End With

' This resets the sheet Entree back to it's ariginal state

Application.CutCopyMode = False
Range("A1").Select
Sheets("Entree").Select
Cells.Select
Selection.EntireRow.Hidden = False
Range("F13:F137").Select
Selection.ClearContents
Range("C1").Select
Application.ScreenUpdating = True
End If
End Sub















Avatar
rthompson
Bonjour à toi mon cher Corona

Effectivement en jouant un petit peu avec ton code j'arrive à ce que je veux

Encore une étape franchie ;-)))))))

Si le temps reste aussi "uninviting" pour quelques heures, j'aurais
peut-être fini mon fichier ce soir

Merci et à bientôt

Rex


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

Un peu gourmant l'enregistreur

Le code ci-dessous fait la même chose
Sub DUPLIQUER_ONGLET_AUTRE_CLASSEUR()
'
' DUPLIQUER_ONGLET_AUTRE_CLASSEUR Macro
'
Sheets("C").Cells.Copy ' Ici il faut être sûr que l'on a le focus sur
le bon classeur
Workbooks.Add
With ActiveSheet
.Paste: .Name = "Entrées_Bis"
End With
ActiveWorkbook.SaveAs Filename:=
"C:UsersPounetDocumentsCopies_Commandes.xlsx", FileFormat:=
xlOpenXMLWorkbook, CreateBackup:úlse
end sub

Et alternative plus courte et plus rapide que j'utilise

Sub CopieFeuille
ThisWorkbook.Sheets("C").Copy
ActiveSheet.Name = "Entrées_Bis" ' Ligne à supprimer évidemment si on
garde le même nom
' Ici le code pour sauver
' ActiveWorkbook.SaveAs Filename:= End sub

Philippe Tulliez

Pounet95 a écrit :
Bonjour,

Une possibilité :
tu enregistres le fichier complet,
tu supprimes les onglets inutiles,
tu enregistres sous un autre nom

...... ce qui oblige à réouvrir le 1er fichier si besoin

ou encore :
tu ouvres un nouveau classeur
tu y recopies la feuille voulue
tu l'enregistres

'------------------ un p'tiot coup d'enregistreur de macros

Sub DUPLIQUER_ONGLET_AUTRE_CLASSEUR()
'
' DUPLIQUER_ONGLET_AUTRE_CLASSEUR Macro
'
Sheets("Commandes").select
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Entrées_Bis"
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"C:UsersPounetDocumentsCopies_Commandes.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:úlse
End Sub


..... cette solution a l'avantage de conserver les 2 fichiers ouverts en
cas de besoin

Pounet95


"rthompson" a écrit dans le message de
news:
Bonjour à toutes et tous

J'espère que le temps dont nous bénéficions en Europe occidentale ne
vous cause pas trop de soucis

Et comme il est impossible de sortir autant en profiter pour Eceller
entre amis

Quelqu'un se rappel-t-il du fil sur la sauve garde de fichier?
Je ne la retrouve pas

Ce que je cherche à faire et ceci

Dans un fichier nommé revendeurs j'ai trois onglets
Entree, Commande, Jeroen

Grâce à votre aide j'ai déjà pas mal avance (voir code ci-dessous)
Cette macro me sauve le fichier total sous le nom de la cellule "Entree
/ B4 et la date et l'heure"

Ce que je cherche à faire est de sauver un fichier sous ce nom la
Mais qui ne contient que la feuille Commande

J'ai un peu chipoté avec le code de JB mais j'y arrive pas
Alors si quelqu'un à une piste je suis preneur


D'avance merci
Et si vous devez circuler aujourd'hui Faites gaffe, je tiens tellement
à vous
Enfin, surtout à votre aide :-)))

A bientôt et bon dimanche

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sub Showordered()
Application.ScreenUpdating = False
If MsgBox("Sauver la commande?", vbYesNo, "OUI") = vbYes Then


' This makes sure that the Commande sheet is empty
Sheets("Commande").Range("A1:P150").ClearContents

' This hides all the lines on the Entree sheet that are not needed
Range([f1], [f185]).EntireRow.Show
For Each C In Range([f1], [f185])
C.EntireRow.Hidden = Not ((C.Value > 0))
Next C
Dim rg As Range
On Error Resume Next
With ThisWorkbook
With .Worksheets("Entree")
Set rg = .Range("e1:e185"). _
SpecialCells(xlCellTypeVisible).EntireRow
End With
With .Worksheets("Commande")
rg.Copy
.Range("A1").PasteSpecial xlPasteAll
.Range("A1").Select

' This parts saves a copy of the file with the date added
Dim strDate As String
Dim MyCell
MyCell = Sheets("Commande").Range("B4").Text
Count = Len(ActiveWorkbook.Name)
Name = (B4)
strDate = Format(Date, "yyyy-mm-dd") & " " &
Format(Time, "h-mm")
ThisWorkbook.SaveCopyAs Filename:=MyCell & " - " &
strDate & ".xls"
End With
End With

' This resets the sheet Entree back to it's ariginal state

Application.CutCopyMode = False
Range("A1").Select
Sheets("Entree").Select
Cells.Select
Selection.EntireRow.Hidden = False
Range("F13:F137").Select
Selection.ClearContents
Range("C1").Select
Application.ScreenUpdating = True
End If
End Sub