Enregistrement

Bonjour

J'ai un petit souci avec une macro à savoir Sub Enregistrer(), d'après le chemin défini je devrais retrouver la feuille dans le dossier devis cependant, je retrouve la feuille dans mes documents ? Une piste ?

Sub Enregistrer()

Dim extension As String

Dim chemin As String, nomfichier As String

Dim style As Integer

Application.ScreenUpdating = False

ThisWorkbook.ActiveSheet.Copy

extension = ".xls"

chemin = "C:\Users\jno\Documents\Devis"

MsgBox ThisWorkbook.Path

nomfichier = ActiveSheet.Range("G11") & "_DEVIS_" & Range("H8") & extension

With ActiveWorkbook

.SaveAs Filename:=chemin & nomfichier

.Close

End With

End Sub

Bonjour,

Dans ton code dans la définition de la variable "chemin", il te manque --> \ après le mot "devis"

chemin = "C:\Users\jno\Documents\Devis\"

La ligne msgbox... Ne sert pas tu peux la supprimer, de même que dim style as string

A te relire

Merci Dan,

J'ai fais autrement du coup, par contre je m'apercois que j'ai besoin d'enregistrer automatiquement ma feuille active, et une autre feuille intitulé "DDE DEVIS" toujours dans mon classeur, une piste ?

En faite c'es encore un peu plus compliqué, j'ai besoin d'enregistrer ma feuille active + ma feuille intulé DDE DEVIS au format xls ou xlsm + ma feuille active au format PDF

2 ème point, avoir une possibilité de réenregistrer ma feuille active enregistré au format pdf si je fais des modifications sur ma feuille active enregistré. j'ai pas fini quoi si quelqu'un à éja été confronter à cela je prend

Sub ENREGISTRER()

Dim Path As String

Dim File As String

Application.ScreenUpdating = False

ThisWorkbook.ActiveSheet.Copy

File = "C:\Users\jno\Documents\Devis"

Path = "C:\Users\jno\Documents\Devis" & "\" & Range("G11").Value & "DEVIS" & Range("H8").Value

If Len(Dir(Path, vbDirectory)) = 0 Then

MkDir (File & "\" & Range("G11").Value & "DEVIS" & Range("H8").Value)

End If

'sauvegarde du fichier Excel

With ActiveWorkbook

.SaveAs Filename:=Path & "\" & "DEVIS" & " " & Range("G11").Value & "DEVIS" & Range("H8").Value & " - " & Format(Date, "dd-mm-yy") & ".xls"

.Close

End With

End Sub

Re

J'ai réussi à faire en sorte d'obtenir ma feuille active en xls et en pdf, mais il me faudrait également, qu'une feuille DDE DEVIS soit enregistrer en meme temps uniquement au format xls, car je l'utilise avec ma feuille active (elle me servira plus tard en cas de modif).

Le code ci dessous fonctionne bien j'ajoute en rouge ce qu'il faudarit en plus, si quelqu'un peut jeter un oeil, ce serait cool :

Sub ENREGISTRER()

Dim Path As String

Dim File As String

Application.ScreenUpdating = False

ThisWorkbook.ActiveSheet.Copy & sheet"(DDE DEVIS"!)

File = "C:\Users\jno\Documents\Devis"

Path = "C:\Users\jno\Documents\Devis" & "\" & Range("G11").Value & "DEVIS" & Range("H8").Value

'Teste si le repertoire existe sinon creation

If Len(Dir(Path, vbDirectory)) = 0 Then

MkDir (File & "\" & Range("G11").Value & "DEVIS" & Range("H8").Value)

End If

ActiveSheet (uniquement).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path & "\" & "DEVIS" & " " & Range("G11").Value & "DEVIS" & Range("H8").Value & " - " & Format(Date, "dd-mm-yy") & ".pdf", Quality:= _

xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

From:=1, To:=2, OpenAfterPublish:=False

'sauvegarde du fichier Excel

With ActiveWorkbook

.SaveAs Filename:=Path & "\" & "DEVIS" & " " & Range("G11").Value & "DEVIS" & Range("H8").Value & " - " & Format(Date, "dd-mm-yy") & ".xls"

.Close

End With

End Sub

Re

Bon bah j'ai réglé mon problème !

De cette manière j'ai 3 feuilles de mon classeur en .xls dont une feuille que je retrouve en PDF également

Sub ENREGISTRER()

Dim Path As String

Dim File As String

Application.ScreenUpdating = False

Sheets(Array("DDE DEVIS", "NETTOYAGE", "data")).Copy

File = "C:\Users\jno\Documents\Devis"

Path = "C:\Users\jno\Documents\Devis" & "\" & Range("G11").Value & "DEVIS" & Range("H8").Value

'Teste si le repertoire existe sinon creation

If Len(Dir(Path, vbDirectory)) = 0 Then

MkDir (File & "\" & Range("G11").Value & "DEVIS" & Range("H8").Value)

End If

'sauvegarde du fichier Excel

With ActiveWorkbook

.SaveAs Filename:=Path & "\" & "DEVIS" & " " & Range("G11").Value & "DEVIS" & Range("H8").Value & " - " & Format(Date, "dd-mm-yy") & ".xls"

.Close

Sheets("NETTOYAGE").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path & "\" & "DEVIS" & " " & Range("G11").Value & "DEVIS" & Range("H8").Value & " - " & Format(Date, "dd-mm-yy") & ".pdf", Quality:= _

xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

From:=1, To:=2, OpenAfterPublish:=False

End With

End Sub

re

Ok si tu as résolu ton problème

Juste une petite chose, essaie d'utiliser les balises de code lorsque tu postes un code sur le forum. C'est nettement plus facile à lire

Bonne journée

Cordialement

Rechercher des sujets similaires à "enregistrement"