VBA enregistrer feuille nom cellule

Bonjour,

J'ai un nouveau problème .

J'ai un fichier comportant une feuille "fiche matériel" & une feuille "fiche maintenance". J'aimerai pouvoir enregistrer les feuilles, dans un dossier créée, mais indépendamment et par rapport aux noms des cellules b2 & c4.

Je voudrais que l'enregistrement se lance dès que je clique sur un bouton et en même temps si c'est pas trop demandé qu'un message apparaissent pour dire que c'est bien enregistré.

J'ai regardé, j'ai essayé plusieurs solutions mais ça bloque à chaque fois.

Je joints le fichier en pièce.

Remerciant d'avance pour l'aide

41adoucisseur.xlsx (93.24 Ko)

Salut Benju,

ma proposition:

Sub Test()

    Dim FName1, FName2, FPath As String
    Dim wb1, wb2 As Workbook

    FPath = "C:\Users\Sequoyah\Desktop"  'CHEMIN A' ADAPTER

    FName1 = Sheets(1).Range("B2").Text & " " & Sheets(1).Range("C4").Text
    FName2 = Sheets(2).Range("B2").Text & " " & Sheets(2).Range("C4").Text

    Application.ScreenUpdating = False

    Set wb1 = Workbooks.Add
    Set wb2 = Workbooks.Add

    ThisWorkbook.Sheets(1).Copy Before:=wb1.Sheets(1)
    wb1.SaveAs Filename:=FPath & "\" & FName1

    ThisWorkbook.Sheets(2).Copy Before:=wb2.Sheets(1)
    wb2.SaveAs Filename:=FPath & "\" & FName2

    wb1.Close
    wb2.Close

    MsgBox "Enregistrement OK"

    Application.ScreenUpdating = True

End Sub

Bonjour,

Merci de vais tester. Par contre tu vas dire que je suis bête mais tans pis . Ce code je le mets dans un module? ET FName, sheets? je les adaptent au noms des onglets?

Merci encore d'avoir répondu.

Bonjour,

il suffit de créér un nouveau module et d'y coller le code (il faut adapter le chemin "C:\Users\Sequoyah\Desktop").

Un autre solution:

Sub Test2()

    Dim Chemin, Fichiers, NomFichier As String
    Dim xWs As Worksheet
    Dim xWb As Workbook

    Application.ScreenUpdating = False

    Set xWb = Application.ThisWorkbook

    Chemin = "C:\Users\Sequoyah\Desktop" 'CHEMIN A' ADAPTER

    For Each xWs In xWb.Worksheets

     Application.CopyObjectsWithCells = False
        xWs.Copy
     Application.CopyObjectsWithCells = True

        NomFichier = Range("B2").Text & " " & Range("C4").Text

        Fichiers = Chemin & "\" & NomFichier

        Application.ActiveWorkbook.SaveAs Fichiers
        Application.ActiveWorkbook.Close False

    Next

    MsgBox "Enregistrement OK"

    Application.ScreenUpdating = True

End Sub

Re bonjour.

Merci, pour vos 2 réponses. Je les ai affectée à un nouveau module, mais quand je la lance, ça me met erreur de compilation .

J'ai adapté le chemin.

Je vois pas trop où je me suis trompé. .

Re,

C'est ça fonctionne, un grand merci pour votre aide à tous les 2

Benju

Bonjour,

Je me permets de revenir sur votre discutions.

Tous fonctionnent correctement.

J'aurai aimé savoir comment je peu faire pour que le fichier soit enregistré sous un format prenant en charge les macros (si j'ai tous compris c'est le format XLSM)

Merci pour votre aide

Le brandy

Bonjour,

Il est toujours recommandé de ne pas se greffer sur une ancienne discussion ...

Cela dit, comme c'est vraiment dans la continuité ...

Rien ne t'interdit d'ajouter à l'instruction qui définit le nom ... ton extension ...

Fichiers = Chemin & "\" & NomFichier & ".xlsm"

En espérant que cela t'aide ...

Bonjour,

Merci pour ta réponse et du conseil

Par contre le conseil que tu m'as donné je n'arrive pas à le mettre en place

Quand j'essaye d’exécuter ma macro il met le message d'erreur suivant "1004" : impossible d'utiliser cette extension avec le type de fichier sélectionné.

Etant un vrai novice dans les macros je t'avoue que je suis perdu la.

En espérant que tu peux m'aider

merci

Re,

Comme je t'ai déjà dit... Il est toujours recommandé de ne pas se greffer sur une ancienne discussion ...

Donc, pour exposer la spécificité de ton probléme ...Il est préférable que tu crées ton propre sujet ...

Rechercher des sujets similaires à "vba enregistrer feuille nom"