Enregistrement d'une feuille en 2 formats

bonjour tous le monde,

Dans l'un de mes classeurs, j'ai un code qui me permet d'enregistrer une feuille dans format excel et en format PDF.

Le code me propose de l'enregistrer dans le dossier windows A.

Dans ce dossier windows A j'ai plusieurs dossiers de ce type :

D2017-15-01 truc truc truc

Quand je clique sur ma macro, il me detecte une erreur à cause des -

Quand je selectionne un dossier sans trait ca fonctionne nikel.

Quelqu'un à une idée pour que mon code fonctionne sans avoir besoin de retirer les - de mes dossiers.

voici le code :

Sub enregistrearhhes()
Dim Chemin As String, Fichier As String

  Fichier = Sheets("Confirmation ARRHES").Range("E4") & " " & Sheets("Confirmation ARRHES").Range("E12") & " " & Sheets("Confirmation ARRHES").Range("B26") & " " & Sheets("Confirmation ARRHES").Range("D32")
  If Len(Trim(Fichier)) = 0 Then
    MsgBox "Pas de nom de fichier"
    Exit Sub
  End If

  With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = "g:\Dropbox\Dropbox J\RD by J\Prestation à faire\"
    If .Show = -1 Then    ' Clic sur Ok
     Chemin = .SelectedItems(1)
    Else
      ' Clic sur Annuler
     Exit Sub
    End If
  End With

  Sheets("Confirmation ARRHES").Copy
  With ActiveWorkbook
    .SaveAs Filename:=Chemin & "\" & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    .Close
  End With

  Sheets("Confirmation ARRHES").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
End Sub

merci par avance

bonjour,

une proposition

Sub enregistrearhhes()
Dim Chemin As String, Fichier As String

  Fichier = Sheets("Confirmation ARRHES").Range("E4") & " " & Sheets("Confirmation ARRHES").Range("E12") & " " & Sheets("Confirmation ARRHES").Range("B26") & " " & Sheets("Confirmation ARRHES").Range("D32")
  If Len(Trim(Fichier)) = 0 Then
    MsgBox "Pas de nom de fichier"
    Exit Sub
  End If
  Fichier = Replace(Fichier, "-", "")

  With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = "g:\Dropbox\Dropbox J\RD by J\Prestation à faire\"
    If .Show = -1 Then    ' Clic sur Ok
    Chemin = .SelectedItems(1)
    Else
      ' Clic sur Annuler
    Exit Sub
    End If
  End With

  Sheets("Confirmation ARRHES").Copy
  With ActiveWorkbook
    .SaveAs Filename:=Chemin & "\" & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    .Close
  End With

  Sheets("Confirmation ARRHES").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
End Sub

bonjour merci pour la réponse,

il me fait toujours une erreur et me surligne en jaune cette phrase

.SaveAs Filename:=Chemin & "\" & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled

bonjour,

que contiennent les variables chemin et fichier ?

oups me suis planter dans le code de départ.

dans le chemin il y à aussi un - au niveau du R et du D

le chemin c'est g:\Dropbox\Dropbox J\R-D by J\Prestation à faire\" et non g:\Dropbox\Dropbox J\RD by J\Prestation à faire\"

ub enregistrearhhes()
Dim Chemin As String, Fichier As String

  Fichier = Sheets("Confirmation ARRHES").Range("E4") & " " & Sheets("Confirmation ARRHES").Range("E12") & " " & Sheets("Confirmation ARRHES").Range("B26") & " " & Sheets("Confirmation ARRHES").Range("D32")
  If Len(Trim(Fichier)) = 0 Then
    MsgBox "Pas de nom de fichier"
    Exit Sub
  End If

  With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = "g:\Dropbox\Dropbox J\R-D by J\Prestation à faire\"
    If .Show = -1 Then    ' Clic sur Ok
    Chemin = .SelectedItems(1)
    Else
      ' Clic sur Annuler
    Exit Sub
    End If
  End With

  Sheets("Confirmation ARRHES").Copy
  With ActiveWorkbook
    .SaveAs Filename:=Chemin & "\" & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    .Close
  End With

  Sheets("Confirmation ARRHES").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
End Sub

et ?

Tout compte fait j'ai changé le chemin. j'ai retirer le - le chemin est donc :

g:\Dropbox\Dropbox J\R D by J\Prestation à faire

Sub enregistrearhhes()
Dim Chemin As String, Fichier As String

  Fichier = Sheets("Confirmation ARRHES").Range("E4") & " " & Sheets("Confirmation ARRHES").Range("E12") & " " & Sheets("Confirmation ARRHES").Range("B26") & " " & Sheets("Confirmation ARRHES").Range("D32")
  If Len(Trim(Fichier)) = 0 Then
    MsgBox "Pas de nom de fichier"
    Exit Sub
  End If

  With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = "g:\Dropbox\Dropbox J\R D by J\Prestation à faire\"
    If .Show = -1 Then    ' Clic sur Ok
   Chemin = .SelectedItems(1)
    Else
      ' Clic sur Annuler
   Exit Sub
    End If
  End With

  Sheets("Confirmation ARRHES").Copy
  With ActiveWorkbook
    .SaveAs Filename:=Chemin & "\" & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    .Close
  End With

  Sheets("Confirmation ARRHES").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
End Sub

Bon c'est bon en faite c'etait le nom de fichier excel et pdf qui etait trop long.

Merci beaucoup.

Rechercher des sujets similaires à "enregistrement feuille formats"