Exporte des donnes

Résolu
domicol Messages postés 54 Statut Membre -  
domicol Messages postés 54 Statut Membre -
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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
  2. domicol Messages postés 54 Statut Membre 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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      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
      1. domicol Messages postés 54 Statut Membre 1 > cs_Le Pivert Messages postés 8437 Statut Contributeur
         
        merci pour la réponse toujours aussi fort
        cela marche trés bien
        bonne soirée et merci
        0