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

sauvegarde fichier

5 réponses
Avatar
balou
bonjour

J'ai un fichier que je voudrais sauvegarder sous un nom particulier contenu
dans mon fichier avec un BeforeSave mais il plante.

voici ma macro:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Application.DisplayAlerts = False
fname = Application.GetSaveAsFilename _
(InitialFileName:=Range("I9").Value, _
FileFilter:="Excel Files (*.xls),*.xls", FilterIndex:=0, Title:="Save As")
If fname <> "False" Then
ActiveWorkbook.SaveAs Filename:=fname
End If

End Sub

Merci

5 réponses

Avatar
tissot.emmanuel
Bonjour,

If fname <> "False" Then


If fname <> False Then

Cordialement,

Manu/


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

bonjour

J'ai un fichier que je voudrais sauvegarder sous un nom particulier
contenu
dans mon fichier avec un BeforeSave mais il plante.

voici ma macro:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)

Application.DisplayAlerts = False
fname = Application.GetSaveAsFilename _
(InitialFileName:=Range("I9").Value, _
FileFilter:="Excel Files (*.xls),*.xls", FilterIndex:=0, Title:="Save As")
If fname <> "False" Then
ActiveWorkbook.SaveAs Filename:=fname
End If

End Sub

Merci


Avatar
FFO
Salut Balou
Je ne sais pas ce que tu cherches vraiment à faire
Comme dit trés justement tissot la syntaxe de la ligne :
If fname <> False Then
doit être sans guillemet pour la commande False
Mais même avec cette correction l'action du code plante

Aprés analyse windows se trouve confronter à 2 actions d'enregistrement pour
un même fichier :
L'une engendrée par l'action de l'utilisateur qui manuellement opére un
enregistrement
Ce qui a pour conséquence d'activer ce code qui déclenche lui aussi son
propre enregistrement par ses instructions
On constate d'ailleur que 2 fenètres de dialogue sont présentées et pour cause
Et là windows est perdu et plante

Quel interêt de demander un enregistrement aprés une action d'enregistrement
???
Si c'est pour éviter d'écraser le fichier en cours il vaut mieux le mettre
en lecture seule
Ce qui obligera l'utilisateur à utiliser un enregistrer sous

Mais avec ton code tel quel dans ThisWorkbook je crains que tu n'obtiennes
pas grand chose

Si quelqu'un d'autre à une idée ????


bonjour

J'ai un fichier que je voudrais sauvegarder sous un nom particulier contenu
dans mon fichier avec un BeforeSave mais il plante.

voici ma macro:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Application.DisplayAlerts = False
fname = Application.GetSaveAsFilename _
(InitialFileName:=Range("I9").Value, _
FileFilter:="Excel Files (*.xls),*.xls", FilterIndex:=0, Title:="Save As")
If fname <> "False" Then
ActiveWorkbook.SaveAs Filename:=fname
End If

End Sub

Merci


Avatar
balou
En fait je veux tout simplement enregistrer mon fichier une seule fois. Mais
si je ne le fais pas manuellement il reprend le nom précédent et pas celui du
fichier.


Salut Balou
Je ne sais pas ce que tu cherches vraiment à faire
Comme dit trés justement tissot la syntaxe de la ligne :
If fname <> False Then
doit être sans guillemet pour la commande False
Mais même avec cette correction l'action du code plante

Aprés analyse windows se trouve confronter à 2 actions d'enregistrement pour
un même fichier :
L'une engendrée par l'action de l'utilisateur qui manuellement opére un
enregistrement
Ce qui a pour conséquence d'activer ce code qui déclenche lui aussi son
propre enregistrement par ses instructions
On constate d'ailleur que 2 fenètres de dialogue sont présentées et pour cause
Et là windows est perdu et plante

Quel interêt de demander un enregistrement aprés une action d'enregistrement
???
Si c'est pour éviter d'écraser le fichier en cours il vaut mieux le mettre
en lecture seule
Ce qui obligera l'utilisateur à utiliser un enregistrer sous

Mais avec ton code tel quel dans ThisWorkbook je crains que tu n'obtiennes
pas grand chose

Si quelqu'un d'autre à une idée ????


bonjour

J'ai un fichier que je voudrais sauvegarder sous un nom particulier contenu
dans mon fichier avec un BeforeSave mais il plante.

voici ma macro:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Application.DisplayAlerts = False
fname = Application.GetSaveAsFilename _
(InitialFileName:=Range("I9").Value, _
FileFilter:="Excel Files (*.xls),*.xls", FilterIndex:=0, Title:="Save As")
If fname <> "False" Then
ActiveWorkbook.SaveAs Filename:=fname
End If

End Sub

Merci




Avatar
FFO
Rebonjours
Et pourquoi ne pas utiliser Fichier/Enregistrer sous
Si l'action est contraignante on peut réaliser une simple petite macro où
l'on inclurait ton code et que l'on associerait à un bouton visible qu'à
l'utilisation de ce document

Solution nettement plus cohérente qu'un évennement d'enregistrement pour
engendrer un 2° enregistrement du même fichier

A toi de me dire


En fait je veux tout simplement enregistrer mon fichier une seule fois. Mais
si je ne le fais pas manuellement il reprend le nom précédent et pas celui du
fichier.


Salut Balou
Je ne sais pas ce que tu cherches vraiment à faire
Comme dit trés justement tissot la syntaxe de la ligne :
If fname <> False Then
doit être sans guillemet pour la commande False
Mais même avec cette correction l'action du code plante

Aprés analyse windows se trouve confronter à 2 actions d'enregistrement pour
un même fichier :
L'une engendrée par l'action de l'utilisateur qui manuellement opére un
enregistrement
Ce qui a pour conséquence d'activer ce code qui déclenche lui aussi son
propre enregistrement par ses instructions
On constate d'ailleur que 2 fenètres de dialogue sont présentées et pour cause
Et là windows est perdu et plante

Quel interêt de demander un enregistrement aprés une action d'enregistrement
???
Si c'est pour éviter d'écraser le fichier en cours il vaut mieux le mettre
en lecture seule
Ce qui obligera l'utilisateur à utiliser un enregistrer sous

Mais avec ton code tel quel dans ThisWorkbook je crains que tu n'obtiennes
pas grand chose

Si quelqu'un d'autre à une idée ????


bonjour

J'ai un fichier que je voudrais sauvegarder sous un nom particulier contenu
dans mon fichier avec un BeforeSave mais il plante.

voici ma macro:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Application.DisplayAlerts = False
fname = Application.GetSaveAsFilename _
(InitialFileName:=Range("I9").Value, _
FileFilter:="Excel Files (*.xls),*.xls", FilterIndex:=0, Title:="Save As")
If fname <> "False" Then
ActiveWorkbook.SaveAs Filename:=fname
End If

End Sub

Merci






Avatar
balou
En fait j'avais déja un bouton "Save" avant et je voulais justement faire
quelque chose d'automatique mais merci qd meme.


Rebonjours
Et pourquoi ne pas utiliser Fichier/Enregistrer sous
Si l'action est contraignante on peut réaliser une simple petite macro où
l'on inclurait ton code et que l'on associerait à un bouton visible qu'à
l'utilisation de ce document

Solution nettement plus cohérente qu'un évennement d'enregistrement pour
engendrer un 2° enregistrement du même fichier

A toi de me dire


En fait je veux tout simplement enregistrer mon fichier une seule fois. Mais
si je ne le fais pas manuellement il reprend le nom précédent et pas celui du
fichier.


Salut Balou
Je ne sais pas ce que tu cherches vraiment à faire
Comme dit trés justement tissot la syntaxe de la ligne :
If fname <> False Then
doit être sans guillemet pour la commande False
Mais même avec cette correction l'action du code plante

Aprés analyse windows se trouve confronter à 2 actions d'enregistrement pour
un même fichier :
L'une engendrée par l'action de l'utilisateur qui manuellement opére un
enregistrement
Ce qui a pour conséquence d'activer ce code qui déclenche lui aussi son
propre enregistrement par ses instructions
On constate d'ailleur que 2 fenètres de dialogue sont présentées et pour cause
Et là windows est perdu et plante

Quel interêt de demander un enregistrement aprés une action d'enregistrement
???
Si c'est pour éviter d'écraser le fichier en cours il vaut mieux le mettre
en lecture seule
Ce qui obligera l'utilisateur à utiliser un enregistrer sous

Mais avec ton code tel quel dans ThisWorkbook je crains que tu n'obtiennes
pas grand chose

Si quelqu'un d'autre à une idée ????


bonjour

J'ai un fichier que je voudrais sauvegarder sous un nom particulier contenu
dans mon fichier avec un BeforeSave mais il plante.

voici ma macro:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Application.DisplayAlerts = False
fname = Application.GetSaveAsFilename _
(InitialFileName:=Range("I9").Value, _
FileFilter:="Excel Files (*.xls),*.xls", FilterIndex:=0, Title:="Save As")
If fname <> "False" Then
ActiveWorkbook.SaveAs Filename:=fname
End If

End Sub

Merci