VBA - une macro qui crée un fichier

Bonjour à tous,

J'ai créé un bon de commande avec déjà plein de macros et de fonctions plutôt complexes pour mon petit niveau, mais pour celle là, je sèche

Je souhaiterais créer une macro qui crée un nouveau classeur :

  • format .xls (Excel 97-2003)
  • avec l'ordre des colonnes ci-dessous
  • sans la 1ère ligne avec les noms de colonnes

Par avance merci pour vos pistes qui m'aideront à mener à bien mon projet...

Bonjour,

Remplace ton image par un fichier....

Cordialement.

J'en suis là pour l'instant...

Je souhaiterais renommer le fichier créé en la valeur de la cellule c dans la fuilee recap, et au format .xls (excel 95)... Et c'est là que ça coince...

Excel 95 ! Tu es sûr ? Tu parlais d'Excel 97-2003 !

Et comment nommer la feuille ?

Re,

Sub Test()
    Dim chemin$, fichier$, n&, shp As Shape, ws As Worksheet, nm As Name
    chemin = "C:\Desktop\"
    fichier = Worksheets("recap").Range("B1") & ".xls"
    ActiveSheet.Copy before:=Worksheets(1)
    Set ws = ActiveSheet
    For Each shp In ws.Shapes
        shp.Delete
    Next shp
    n = ws.Range("A" & Rows.Count).End(xlUp).Row
    With ws.Range("A1:H" & n)
        .Columns(1).Value = .Columns(1).Value
        .Columns(6).Value = .Columns(2).Value
        .Columns(7).Value = .Columns(4).Value
        .Columns(8).Value = .Columns(3).Value
        .Rows(1).Delete xlShiftUp
        .Columns("B:D").Delete xlShiftToLeft
        .Columns("B").AutoFit
        .Columns("C:D").HorizontalAlignment = xlCenter
    End With
    ws.Move
    With ActiveWorkbook
        .Worksheets(1).Name = "L1"
        For Each nm In .Names
            nm.Delete
        Next nm
        .SaveAs chemin & fichier, xlExcel8
        .Close
    End With
End Sub

Sous réserve de ton chemin, qui me semble à vérifier ! C'est habituellement :

C:\Users\NomUtilisateur\Desktop\ (et non C:\Desktop pour le bureau...]

Cordialement.

Rechercher des sujets similaires à "vba macro qui cree fichier"