Exporte des donnes

Résolu
bonjour a tous et toutes
j ai un fichier excel avec une macro qui me crée un dossier et des sous dossiers
je voudrais enregistre la page "BILAN" dans un sous dossier par apport au nom qu il y a dans la case C6 (arthur dans le dossier "a" valerie dans le sous dossier "v" etc....)
et aprés pouvoir le récupérer quand je tape en C6 "arthur"
merci
bonne soirée

https://www.cjoint.com/c/JACv3R8COZi

2 réponses

  1. merci CS le pivert
    trop fort
    serrait il possible de ne pas créer un dossier C6 mais de l enregistre sous le nom C6 dans le dossier ou se trouve le fichier de base
    encore merci
    0
    1. Contributeur
      comme ceci:

      Option Explicit
      Sub test()
      Dim chemin_dossier As String
      chemin_dossier = ThisWorkbook.Path
      Application.DisplayAlerts = False
      If FichierExiste(chemin_dossier & "\" & Range("C6").Value & ".xlsx") = True Then
             MsgBox "Le fichier existe ...", vbCritical, "Création fichier"
      Else
      ThisWorkbook.Sheets("bilan").Copy
      ActiveWorkbook.SaveAs Filename:=chemin_dossier & "\" & Range("C6").Value & ".xlsx"
      ActiveWorkbook.Close
      Application.DisplayAlerts = True
      MsgBox "Votre fichier " & Range("C6").Value & " est créé", vbInformation, "Création fichier"
       End If
      End Sub
      'voir si le fichier existe
      Public Function FichierExiste(MonFichier As String)
      'par Excel-Malin.com ( https://excel-malin.com )
      If Len(Dir(MonFichier)) > 0 Then
            FichierExiste = True
         Else
            FichierExiste = False
         End If
      End Function
      
      

      0
    2. @cs_Le Pivertmerci pour la réponse toujours aussi fort
      cela marche trés bien
      bonne soirée et merci
      0
  2. Contributeur
    Bonjour,

    le dossier nommé par la cellule C6 sera créé dans le même dossier que le classeur contenant la macro.
    Le classeur nommé par la cellule C6 sera enregistré dans le nouveau dossier en xlsx

    Sub test()
    Dim chemin_dossier As String
    chemin_dossier = ThisWorkbook.Path & "\" & Range("C6").Value
    If Dir(chemin_dossier, vbDirectory) <> vbNullString Then
    
    Else
    MkDir (chemin_dossier)
    End If
    MsgBox ("dossier cree")
    Application.DisplayAlerts = False
    
    ThisWorkbook.Sheets("bilan").Copy
    ActiveWorkbook.SaveAs Filename:=chemin_dossier & "\" & Range("C6").Value & ".xlsx"
    ActiveWorkbook.Close
    
    Application.DisplayAlerts = True
    
    End Sub
    

    1