Vba

Fermé
lokmanfr58 Messages postés 2 Date d'inscription lundi 21 mars 2016 Statut Membre Dernière intervention 22 mars 2016 - Modifié par Chris 94 le 21/03/2016 à 18:38
f894009 Messages postés 17190 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 mai 2024 - 22 mars 2016 à 12:24
bonjour à tous
j'apprécirai beaucoup votre aide SVP



Sub RetriveFolder()
Dim thisMonthnumber As Integer
 Dim name As String
 Dim thisYear As Integer
 Dim thismonth As String
 Dim newdirectoryname As Variant
 
        thisMonthnumber = Month(Now)  'can write month(now) for the current month
       thisYear = Year(Now)
       name = MonthName(Month(Now), True)
         myfolder = "j:\top 2016\" & (name & thisYear)
        MsgBox ("the new folder name is" & "   " & name & "  " & thisYear)
    Fldr = Dir(myfolder, vbDirectory)
     If Len(Fldr) > 0 Then
     MsgBox (Fldr & "existe")
     Else
                         'If MsgBox("would like to create it", vbYesNo) = vbYes Then
                     MkDir (myfolder)
                     'End If
End If
    
 MsgBox ("new directory name is" & "  " & newdirectoryname)
 ActiveWorkbook.SaveAs Filename:="j:\top 2016\mars2016\" & Format(Now, "ddmmmyyyy h\hm\mss")
          'Application.Quit
        'Application.DisplayAlerts = True
End sub



but: enregistrer dans un dossier dont le nom est composé du mois et année en cours. si le dossier n'existe pas il faut le créer.
pb: mettre la variable "Fldr" dans le chemin de saveas ne marche pas.
par contre mettre "mars2016", qui est le nom du dossier créé ça marche

1 réponse

f894009 Messages postés 17190 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 mai 2024 1 705
22 mars 2016 à 08:27
Bonjour,

Si existe pas: Fldr="", si existe: Fldr="nom du repertoire"

dans les deux cas il faut le chemin complet: myfolder

pensez a mettre une extension a votre ficher de sauvegarde


Sub RetriveFolder()
    Dim thisMonthnumber As Integer
    Dim name As String
    Dim thisYear As Integer
    Dim thismonth As String
    Dim newdirectoryname As Variant
 
    thisMonthnumber = Month(Now)  'can write month(now) for the current month
    thisYear = Year(Now)
    name = MonthName(Month(Now), True)
    myfolder = "j:\top 2016\" & (name & thisYear)
    MsgBox ("the new folder name is" & "   " & name & "  " & thisYear)
    Fldr = Dir(myfolder, vbDirectory)
    If Len(Fldr) > 0 Then
        MsgBox (Fldr & " existe")
    Else
        MkDir (myfolder)
        MsgBox ("new directory name is" & "  " & myfolder)
    End If
    
    ActiveWorkbook.SaveAs Filename:=myfolder & "\" & Format(Now, "ddmmmyyyy h\hm\mss")
    'Application.Quit
    'Application.DisplayAlerts = True
End Sub
0
lokmanfr58 Messages postés 2 Date d'inscription lundi 21 mars 2016 Statut Membre Dernière intervention 22 mars 2016
22 mars 2016 à 11:49
bonjour,

merci pour ton aide.
je voulais savoir interpréter "\" dans la commande SaveAs Filename:=
0
f894009 Messages postés 17190 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 mai 2024 1 705 > lokmanfr58 Messages postés 2 Date d'inscription lundi 21 mars 2016 Statut Membre Dernière intervention 22 mars 2016
22 mars 2016 à 12:24
Re
chemin complet d'un fichier
Disque:\repertoire\sous-repertoire\nomdefichier.extension

myfolder ="Disque:\repertoire\sous-repertoire"
0