(RESOLU)modifier ligne de code pour ajouter l'année en cours

grisan29

XLDnaute Accro
bonsoir a tous et toutes
je voudrais intégré l'année en cours dans cette ligne de code mais je ne sais pas comment m'y prendre
Code:
Dim Rep as String
Rep = Application.Proper(MonthName(Month(Date))) & " " & Year(Date)
 

grisan29

XLDnaute Accro
bonsoir Hieu
merci de ta réponse mais ce n'est pas tout fait cela que je veux
apercu mois est de ta ligne de code et l'autre est ce que je voudrai soit créer l'année en cours et dedans le code mets le mois et dedans mets toutes les feuilles voulues puis quand le mois change comme bientôt il prends le nbom du mois suivant et ainsi de suite, et pour l'année ce devrai ettre pareil sauf au 31 décembre le changement seulement
apercu mois.jpg
apercu de ce que je veux.jpg
 

grisan29

XLDnaute Accro
bonsoir Modeste geedee
on s'est croisé mais ton code n'est pas encore bon vois l'apercu joint et je joint aussi le code en entier
d'accord je me suis mal expliqué ton code fait ce que j'ai demander,mais en fait ce que je veux c'est un dossier année qui est créer a chaque fin d'année comme les mois dans ce code
Code:
Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
        Dim Chemin As String, Fichier As String, Rep As String
        Chemin = "C:\Users\Pascal\Desktop\testsave\"
        'Chemin = ThisWorkbook.Path & "\"
       'créer un dossier avec le nom du mois et l'année en cours
       'si le mois change un autre dossier est créer
      ' Rep = Application.Proper(MonthName(Month(Date))) & " " & Year(Date)
       'Rep = Application.Proper(MonthName(Month(Date))) & " " & Year(Date) & " " & Year(Now)
       Rep = Application.Proper(Format(Date, "mmmm yy")) & " " & Year(Now)
        'gestion des erreurs
       On Error Resume Next
        'définition du chemin
       MkDir Chemin & Rep
        On Error GoTo 0
        Chemin = Chemin & Rep & "\"
        Sheets("Feuil1").Copy
        'copie de la feuille en ajoutant F devant le n° qui est en "C4" et +la date
       Fichier = Sheets("Feuil1").Range("C4") & " " & "F" & Format(Date, "ddmmyyyy") & ".Pdf"
        With ActiveWorkbook
            'code qui enregistre en .pdf
           .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Fichier, Quality:=xlQualityStandard, _
                                 IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                 From:=1, To:=1, OpenAfterPublish:=False
            'ferme le classeur créer
           .Close savechanges:=False
            'retabli les arlertes windows
           Application.DisplayAlerts = True
            'message pour dire que le fichier a bien été enregistrer
           'que le chemin est bon
           MsgBox ("Enregistré dans le dossier -Factures-")
        End With
End Sub
 

Pièces jointes

  • apercu pas encore ca.jpg
    apercu pas encore ca.jpg
    45.7 KB · Affichages: 23

grisan29

XLDnaute Accro
bonsoir
c'est sur en créant un dossier avec le nom 2017 c'est facile après de faire ce que je veux comme ceci
Code:
Chemin = "C:\Users\Pascal\Desktop\testsave\2017\"
mais quand l'année finira il faudra recréer un dossier 2018 et changer dans le code, un peu fastidieux et surtout 1an est long et risque d'oubli
 

grisan29

XLDnaute Accro
bonjour a vous
j'ai supprimer la fin de ligne et maintenant le mois et les 2 derniers chiffres de l'année s'écrive comme il faut mais pas dans le dossier année comme quoi le reste du code est bon il n'y a que cette ligne qui bloque
Code:
Rep = Application.Proper(MonthName(Month(Date)))
 

Si...

XLDnaute Barbatruc
Bonjour

à tester :
VB:
Private Sub CommandButton1_Click()
  Dim Chemin As String, Nom As String, Fichier As String
  Chemin = ThisWorkbook.Path & "\" & Year(Now) & "\"
  On Error Resume Next
  Application.DisplayAlerts = 0 'attention, fichier écrasé sans préavis !
  MkDir Chemin
  Nom = Feuil1.[C4] & " F " & Application.Proper(Format(Now, "mmmm yyyy"))
  Fichier = Nom & ".Pdf"
  ThisWorkbook.ExportAsFixedFormat 0, Chemin & Fichier, 1, 1, 0, 1, 1, 0
  Application.DisplayAlerts = 1
  'si pas utile, effacer la ligne suivante
  MsgBox Nom & vbLf & "  en Pdf" & vbLf & "dans le dossier " & Left(Chemin, Len(Chemin) - 1), , "Enregistré sous le nom "
End Sub
 

Pièces jointes

  • Sauvegarde en Pdf.xlsm
    17.8 KB · Affichages: 37

grisan29

XLDnaute Accro
onjour Eric....
j'ai un bug quand je change le chemin erreur 13 imcompatibilité
Code:
Chemin = "C:\Users\Pascal\Desktop\testsave & " \ " & Year(Now) & " \ ""
même si je mets un \ après testsave
mais je ne veux pas écraser le fichier enregistrer mais qu'il se mettent a la suite
 

grisan29

XLDnaute Accro
bonjour Si...
j'ai compris il y a trop de &"\ dans la ligne ca fonctione bien comme ci dessous reste a l'adapter
Code:
Chemin = "C:\Users\Pascal\Desktop\testsave\ " & Year(Now) & " \ """
le message dit que c'est bien enregistrer mais ou sont'ils aller mystère
 
Dernière édition:

grisan29

XLDnaute Accro
bonsoir Si....
c'est bien ce que tuas fait mais les lignes ne s'écrivent pas dans le dossier créer
elle se copie bien mais sont envoyer quel que part mais pas ou il faut
et que représente cette ligne
Code:
ThisWorkbook.ExportAsFixedFormat 0, Chemin & Fichier, 1, 1, 0, 1, 1, 0
 

Discussions similaires

Réponses
3
Affichages
139

Statistiques des forums

Discussions
312 868
Messages
2 093 051
Membres
105 621
dernier inscrit
falla