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