VBA message box onglet pdf

Bonjour,

Je suis a cours d'idée, j'ai depuis un moment maintenant un fichier avec plusieurs onglets, nommés : 0001, 0002, 0003, 004, 0005, 0006, 0007 et une macro qui me sauvegarde en PDF chaque onglet séparément(voir code ci dessous)

actuellement je n'utilise que deux onglets tout les jours donc ma macro n'est configuré pour sauvegarder que les deux premier (0001-0002)

mais j'aimerai avoir une message Box qui me demande quel onglet je souhaite sauvegardé :

" Quel onglet voulez vous sauvegarder ?

0001*0002*0003...etc"

Voici ma Macro :

Sub pdf()

Dim MSN As String

Dim LHeure As String, LeDate As String

MSN01 = Sheets("0001").Range("C4")
MSN02 = Sheets("0002").Range("C4")
MSN03 = Sheets("0003").Range("C4")
MSN04 = Sheets("0004").Range("C4")

LaDate = Format(Date, "dd" & "." & "mm" & "." & "yyyy")

' Création fichier PDF

Sheets("0001").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Chemin d'accès\ CR ROP " & MSN01 & "- " & LaDate & " .pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
From:=1, To:=2, OpenAfterPublish:=False

' Création fichier PDF

Sheets("0002").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Chemin d'accès\CR ROP CH.A SUD\CR ROP ARCHIVE\ CR ROP " & MSN02 & "- " & LaDate & " .pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
From:=1, To:=2, OpenAfterPublish:=False

' Création fichier PDF

Sheets("0003").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Chemin d'accès\ CR ROP " & MSN03 & "- " & LaDate & " .pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
From:=1, To:=2, OpenAfterPublish:=False

' Création fichier PDF

Sheets("0004").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Chemin d'accès\CR ROP " & MSN04 & "- " & LaDate & " .pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
From:=1, To:=2, OpenAfterPublish:=False

' Création fichier PDF

Sheets("0005").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Chemin d'accès\CR ROP " & MSN05 & "- " & LaDate & " .pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
From:=1, To:=2, OpenAfterPublish:=False

' Création fichier PDF

Sheets("0006").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Chemin d'accès\CR ROP " & MSN06 & "- " & LaDate & " .pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
From:=1, To:=2, OpenAfterPublish:=False

' Création fichier PDF

Sheets("0007").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Chemin d'accès\ CR ROP " & MSN07 & "- " & LaDate & " .pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
From:=1, To:=2, OpenAfterPublish:=False

' Message de confirmation

MsgBox ("Création du fichier PDF effectué" & vbCrLf & vbCrLf & "Merci ")

End Sub

hello

essaie ça

Sub pdf()

Dim MSN As String

Dim LHeure As String, LeDate As String

MSN01 = Sheets("0001").Range("C4")
MSN02 = Sheets("0002").Range("C4")
MSN03 = Sheets("0003").Range("C4")
MSN04 = Sheets("0004").Range("C4")

LaDate = Format(Date, "dd" & "." & "mm" & "." & "yyyy")

fichier_a_exporter = InputBox("Quel onglet voulez vous exporter ?")

' Création fichier PDF

Sheets(fichier_a_exporter).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Chemin d'accès\ CR ROP " & MSN01 & "- " & LaDate & " .pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
From:=1, To:=2, OpenAfterPublish:=False

' Message de confirmation

MsgBox ("Création du fichier PDF effectué" & vbCrLf & vbCrLf & "Merci ")

End Sub

Si tu veux faire une sélection multiple je te recommande de passer par un onglet ou tu listes dans une colonne ceux que tu veux et après tu fais une boucle dessus.

Hésite pas si tu veux une piste la dessus

@+

Bonjour c3dr1k-31 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Concernant votre demande, tant mieux que vous êtes tombé à cours d'idées, nous allons pouvoir optimiser grandement votre code
Pour créer le PDF, on vérifie que la cellule C4 contient quelque chose

Sub pdf()
  Dim Sht As Worksheet
  Dim Msn As String, sPath As String, sNomFic As String
  Dim LHeure As String, LeDate As String
  ' Définir le chemin d'enregistrement
  sPath = "C:\Chemin d'accès\"
  ' Pour chaque feuille du classeur
  For Each Sht In ActiveWorkbook.Sheets
    Msn = Sht.Range("C4")
    If Msn <> "" Then
      LaDate = Format(Date, "dd" & "." & "mm" & "." & "yyyy")
      ' Création fichier PDF
      sNomFic = "CR ROP " & Msn & "- " & LaDate & " .pdf"
      ' Exporter la feuill
      Sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & sfic, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
        From:=1, To:=2, OpenAfterPublish:=False
    End If
  Next Sht
End Sub

Merci de votre participation

Cordialement

Edit : Salut Baroute78

Merci pour vos réponses.

présentation effectué (désolé j'ai du refaire un compte)

en effet je souhaite absolument pouvoir faire un choix multiple.

oui, la cellule C4 sert dans le nom du PDF :

le nom du PDF est comme suit : >>compte rendu "VALEUR CELLULE C4" "date du jour".pdf <<

merci à vous

Je me permet de relancer le sujet sais t'on jamais le weekend a peut être fait des merveilles :)

Re,

Vous avez des formations ICI, c'est simple il faut juste faire un test d'une réponse à une question faite avec MsgBox

Sub pdf()
  Dim Sht As Worksheet
  Dim Msn As String, sPath As String, sNomFic As String
  Dim LHeure As String, LeDate As String
  ' Définir le chemin d'enregistrement
  sPath = "C:\Chemin d'accès\"
  ' Pour chaque feuille du classeur
  For Each Sht In ActiveWorkbook.Sheets
    Msn = Sht.Range("C4")
If MSgBox("Voulez-vous enregistrer le PDF de " & msn, VbQuestion+VbYesNo,"ATTENTION...") = Vbno then Goto Suite
    If Msn <> "" Then
      LaDate = Format(Date, "dd" & "." & "mm" & "." & "yyyy")
      ' Création fichier PDF
      sNomFic = "CR ROP " & Msn & "- " & LaDate & " .pdf"
      ' Exporter la feuill
      Sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & sfic, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
        From:=1, To:=2, OpenAfterPublish:=False
    End If
Suite:
  Next Sht
End Sub

A+

merci beaucoup, ca fonctionne bien même s'il me propose des onglets dont je ne souhaite pas avoir la proposition, je pense que ca sera un bon début.

Peu de temps après un collège aurait trouvé une solution avec un userform, je dois voir avec lui ce que ca donne.

tout de même un grand merci, je vous fait un retour.

Rechercher des sujets similaires à "vba message box onglet pdf"