Bouton enregistrer sur fichier

Bonjour,

J'ai créer le bouton enregistrer pour lorsque l'on click dessus on puisse enregistrer directement sur le bureau en PDF.

Mais mon niveau de débutant me le permet pas, pouvez vous m'aider ?

Je vous ai joins mon fichier.

Merci !!


voici mon fichier, merci de votre aide

Bonjour et bienvenu(e)

A tester

Bonjour,

Merci de votre aide mais lorsque je click sur le bouton "ENREGISTRER" le fichier s'enregistre mais pas en PDF et pas sur le bureau mais sur le téléchargement.

Comment puis je faire pour que le fichier s'enregistre directement sur le bureau en PDF ?

Je ne sais pas si j'ai été clair ...

Désolé je viens de voir que ça s'enregistrer bien sur le bureau et en PDF, mais est ce possible que le fichier se faire automatiquement aprés s'être enregistrer ?

Bonjour

WIWIJAMI a écrit :

le fichier se faire automatiquement

Tu peux traduire s'il te plait ?

Désole je voulais dire que lorsqu'on click sur enregistrer, il s'enregistre sur le bureau mais que le fichier excel se ferme automatiquement

Bonjour

Remplace la macro actuelle par celle ci

Private Sub CommandButton1_Click()
Dim Chemin As String, Fichier As String

  Chemin = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
  Fichier = "Le fichier.pdf"
  Application.DisplayAlerts = False   ' Ecrase l'éventuel fichier existant
  ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
  ThisWorkbook.Save     ' Enregistre le fichier
  Application.Quit      ' Quitte Excel
End Sub

NIQUEL ! Merci beaucoup

Une dernière petite question est il possible d'ajouter à ce code une restriction pour afficher un message d'erreur si certaines cellules ne sont pas complétées ?

Bonjour

On peut faire beaucoup de chose

exemple

Private Sub CommandButton1_Click()
Dim Chemin As String, Fichier As String

  If Range("A1") = "" Then
    MsgBox "Il faut remplir A1"
  ElseIf Not IsDate(Range("B1")) Then
    MsgBox "Il faut une date en B1"
'  ElseIf ........................... Then
'    MsgBox "......"
'  Etc...
'  Etc...
  Else
    Chemin = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
    Fichier = "Le fichier.pdf"
    Application.DisplayAlerts = False   ' Ecrase l'éventuel fichier existant
    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
    ThisWorkbook.Save     ' Enregistre le fichier
    Application.Quit      ' Quitte Excel
  End If
End Sub

Merci ! J'ai adaptée le code pour mon fichier mais cela bloque lorsque je veux l'appliquer on me dit : " Erreur de compilation : Bloc If sans End If"

Private Sub CommandButton1_Click()

Dim Chemin As String, Fichier As String

If Range("B9") = "" Then

MsgBox "Il faut renseigner le nom du demandeur"

ElseIf Not IsDate(Range("B1")) Then

MsgBox "Il faut une date en B1"

If Range("B11") = "" Then

MsgBox "Il faut renseigner l'adresse"

ElseIf Not IsDate(Range("F6")) Then

MsgBox "Il faut renseigner la date du besoin"

If Range("B32") = "" Then

MsgBox "Il faut renseigner le Temps hebdomadaire"

If Range("B39") = "" Then

MsgBox "Il faut renseigner le salaire"

If Range("C33") = "" Then

MsgBox "Il faut renseigner la répartition du temps hebdomadaire"

If Range("B28") = "" Then

MsgBox "Merci de préciser le profil"

Else

Chemin = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"

Fichier = "DEMANDE-REMPLACEMENTRECRUTEMENT.pdf"

Application.DisplayAlerts = False ' Ecrase l'éventuel fichier existant

ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False

ThisWorkbook.Save ' Enregistre le fichier

Application.Quit ' Quitte Excel

End If

End Sub

Bonjour

Modifie la macro

Private Sub CommandButton1_Click()
Dim Chemin As String, Fichier As String

  If Range("B9") = "" Then
    MsgBox "Il faut renseigner le nom du demandeur"
  ElseIf Not IsDate(Range("B1")) Then
    MsgBox "Il faut une date en B1"
  ElseIf Range("B11") = "" Then
    MsgBox "Il faut renseigner l'adresse"
  ElseIf Not IsDate(Range("F6")) Then
    MsgBox "Il faut renseigner la date du besoin"
  ElseIf Range("B32") = "" Then
    MsgBox "Il faut renseigner le Temps hebdomadaire"
  ElseIf Range("B39") = "" Then
    MsgBox "Il faut renseigner le salaire"
  ElseIf Range("C33") = "" Then
    MsgBox "Il faut renseigner la répartition du temps hebdomadaire"
  ElseIf Range("B28") = "" Then
    MsgBox "Merci de préciser le profil"

  Else

    Chemin = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
    Fichier = "DEMANDE-REMPLACEMENTRECRUTEMENT.pdf"
    Application.DisplayAlerts = False            ' Ecrase l'éventuel fichier existant
    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
    ThisWorkbook.Save            ' Enregistre le fichier
    Application.Quit            ' Quitte Excel
  End If
End Sub

Bonsoir,

De plus je ne veux pas que les fichiers PDF s'écrase lorsqu'on en enregistre un autre. Comment faire ?

Bonjour

Enlève la ligne

Application.DisplayAlerts = False            ' Ecrase l'éventuel fichier existant

ça me l'écrase quand même, je n'ai qu'un seul fichier à chaque fois sur mon bureau

Bonjour

Il faut modifier le nom du fichier à chaque enregistrement

Exemple

Fichier = "DEMANDE-REMPLACEMENTRECRUTEMENT" & Format(Now, "DD-MM-YYYY HH.MM.SS") & ".pdf"
Rechercher des sujets similaires à "bouton enregistrer fichier"