sauvegarde fichier

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
tissot.emmanuel
Le #4531681
Bonjour,

If fname <> "False" Then


If fname <> False Then

Cordialement,

Manu/


"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


FFO
Le #4531621
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


balou
Le #4531561
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




FFO
Le #4531551
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






balou
Le #4531541
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








Publicité
Poster une réponse
Anonyme