Création de fichier

Bonjour ,

1- Je voudrais copie l'onglet CAAR et crée un fichier Excel nommé CAAR, te la même chose pour AXA et ainsi de suite pour les autre .

Merci d'avance .

18inteadvehaha.zip (42.25 Ko)

Bonjour

Le fichier doit être placé dans quel répertoire ??

Cordialement

Bonjour ,

Le répertoire n'est pas important sur le bureau de préférence.

Merci

Bonjour ,

Ce n'est pas assez précis pour vous

Re

Ce n'est pas assez précis pour vous

Si si mais je ne suis pas toujours sur le forum...

Code à essayer :

Sub Savesheet()
'Macro Dan pour Abdernino - 14/06/18
'
Dim Chemin As String

Chemin = "C:\Users\" & VBA.Environ("UserName") & "\Desktop\"
With ActiveSheet
    .Copy
    .Name = Replace(.Name, ".", "")
    ActiveWorkbook.SaveAs Chemin & .Name  & ".xls"
End With
End Sub

L'instruction Replace ne sert qu'à supprimer les points que vous avez mis dans le nom de l'onglet. Ce qui serait mieux c'est de les supprimer. Il est mieux d'éviter l'utilisation de points ou espaces dans les nom de feuille et de fichier.

Le Code sauve la feuille dans un nouveau fichier qui sera placé sur le bureau. Le code est à placer dans un module et à associer éventuellement à un bouton placé sur la feuille à sauvegarder.

Si ok, veille à cloturer le fil

Cordialement

Merci

moi j'ai pensé à mettre le bouton dans le menu, et qu'il a cherché l'onglet CAAR et AXA et faire des sauvegardes.

Re

Dans le menu ??

Oui je veux mettre le bouton dans l'onglet menu

re

Quel menu ? je ne vois pas d'onglet Menu dans votre fichier et il n'y a pas d'onglet Menu dans Excel. Vous avez quelle version d'excel ?

l'onglet menu je l'ai créé, et je veux que cette macro soit dans cette macro . impossible de joindre tout le fichier trop volumineux

10menu.xlsx (20.82 Ko)

voila ce que j'ai trouver

Sub Macro2()

For Each feuille In ActiveWorkbook.Sheets

feuille.Copy

With ActiveWorkbook

.Title = feuille.Name

.Subject = feuille.Name

.SaveAs Filename:=feuille.Name + ".xls"

End With

Next

End Sub

mais le problème ce que les fichiers ne sont pas sauvgardé automatiquement sur le bureau , et avec le nom de l'onglet

Merci

Re

Pas trop bien compris. Qu'est ce que vous voulez sauver, les feuilles CAAR et AXA dans des fichiers séparés ?? Là en voyant votre code c'est toutes les feuilles à sauver dans des fichiers séparés ?

Je vous ai donné un code qui vous permet de choisir la feuille à sauver dans un nouveau fichier qui se placera sur le bureau. L'avez vous essayé ??

oui tout a fait.

Heu tout à fait quoi ??

essayé la proposition ??

les feuilles CAAR et AXA dans des fichiers séparés

Merci

Re

Essayez ceci :

Sub Macro2()
Dim feuille As Worksheet
Dim Chemin as string

Chemin = "C:\Users\" & VBA.Environ("UserName") & "\Desktop\"

For Each feuille In ThisWorkbook.Sheets

    With feuille
        If .Name = "C.A.A.R" Or .Name = "A.X.A" Then
            .Copy
            Activesheet.Name = Replace(Activesheet.Name, ".", "")
            ActiveWorkbook.SaveAs Filename:=Chemin & feuille.Name & ".xls"
            ActiveWorkbook.Close
        End If
    End With

Next
End Sub

Si vous enlever les points du nom des onglets (ce que, comme dit précédemment, je vous conseille d'ailleurs), veillez à les enlever aussi dans le code.

Si ok, merci de cloturer le fil

Cordialement

Merci ça marche très bien

J'ai rajouté d'autre feuille un message s'affiche La méthode 'copy' de l'objet worksheet a echoué

Sub Macro2()

Dim feuille As Worksheet

Dim Chemin As String

Chemin = "C:\Users\" & VBA.Environ("UserName") & "\Desktop\"

For Each feuille In ThisWorkbook.Sheets

With feuille

If .Name = "CAAR" Or .Name = "AXA" Or .Name = "GAM" Or .Name = "CAAT" Or .Name = "SAA" Or .Name = "2A" Or .Name = "CASH" Or .Name = "ALLIANCE" Or .Name = "TRUST" Then

.Copy

ActiveSheet.Name = Replace(ActiveSheet.Name, ".", "")

ActiveWorkbook.SaveAs Filename:=Chemin & feuille.Name & ".xls"

ActiveWorkbook.Close

End If

End With

Next

End Sub

Re

Vous avez trop de conditions dans le IF. Je pense que c'est 7 maximum.

Essayez ce code

Sub Macro2()
Dim feuille As Worksheet
Dim Chemin As String

Chemin = "C:\Users\" & VBA.Environ("UserName") & "\Desktop\"

For Each feuille In ThisWorkbook.Sheets

With feuille
    Select Case .Name
        Case Is = "CAAR", "AXA", "GAM", "CAAT", "SAA", "2A", "CASH", "ALLIANCE", "TRUST"
        .Copy
        'ActiveSheet.Name = Replace(ActiveSheet.Name, ".", "")
        ActiveWorkbook.SaveAs Filename:=Chemin & feuille.Name & ".xls"
        ActiveWorkbook.Close
    End Select
End With

Next
End Sub

Comme je vois que vous avez supprimé les points dans le nom des onglet, j'ai désactivé une ligne dans le code

Cordialement

merci beaucoup @ Dan

Bonjour,

un problème lors de la création du fichier comme il y a une formule ,le fichier enregistré sur le bureau #REF!

a la place des donné, je pense que c'est la formule qui pose problème.

Si vous avez besoin du fichier , je vous l'envoi

Encore un grand merci

Rechercher des sujets similaires à "creation fichier"