Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Renseignement macro créa nouveau fichier

  • Initiateur de la discussion Initiateur de la discussion ironangel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ironangel

XLDnaute Occasionnel
Bonjour,

j'aimerais savoir s'il est possible de creer une macro sous excel permettant, lorsqu'on l'éxécute, de générer des nouveaux fichiers excel prédéfinis, c'est à dire contenant par exemple un tableau reprenant des donnés précédemment entré.

Amicalement

Seb
 
Re : Renseignement macro créa nouveau fichier

Merci mromain,

Mais je pense que je ne suis pas obligé de passer par une macro, je peux peut-être juste mettre une liste avec différents choix dans une cellule:

ex: dans la cellule A, je souhaite qu'il y ai une liste avec différents choix possible, du genre (titi toto toti...) quand tu cliques sur la liste, il te propose les différents choix et tu choisis celui que tu souhaite faire apparaitre ds la case
 
Re : Renseignement macro créa nouveau fichier


re,

c'est ce que fait la macro :
elle crée une liste dans la cellule.

si tu ne veux pas le faire par macro :
tu sélectionne ta cellule
tu vas dans : Données --> Validation
tu choisis : Liste
tu met comme source : toto;titi;tata

voila

a+
 
Re : Renseignement macro créa nouveau fichier

Salut mromain

Cette fois-ci j'aimerais copier tout le classeur dans un nouveau classeur et non juste la feuille 2, il y a 3 onglets nommés : HISTORIQUE; Définition PF et Caisse et Palettisation, j'aimerais donc pouvoir retrouver ces 3 onglets complétés dans un autre classeur dont le nom serait défini par les cellules fusionnées D8:F8.

Pour infos le précédent code que j'utilisais:

Sub création_fichier()
'
Dim newWbk As Workbook, curWbk As Workbook
Set curWbk = ThisWorkbook
Set newWbk = Application.Workbooks.Add
curWbk.Sheets("Feuil2").Cells.Copy newWbk.Sheets(1).Range("A1")
newWbk.SaveAs curWbk.Path & "\" & Range("D4")
'
End Sub

Et le code que j'ai essayer de modifier sans succes:

Sub creation_fichier2()
'
Dim newWbk As Workbook, curWbk As Workbook
Set curWbk = ThisWorkbook
Set newWbk = Application.Workbooks.Add
curWbk.Sheets("HISTORIQUE:Caisse + Palettisation").Cells.Copy newWbk.Sheets(1).Range("A1")
newWbk.SaveAs curWbk.Path & "\" & Range("D8:F8")
'
End Sub


Pourrais tu m'aider

Merci (je ne peux pas joindre de fichier, trop volumineux meme compréssé)
 
Re : Renseignement macro créa nouveau fichier

bonjour ironangel,

si tu dois faire une copie complète de ton classeur, ne serait-il pas plus simple de faire un "ThisWorkbook.SaveCopyAs ...." ?

a+
 
Re : Renseignement macro créa nouveau fichier

J'ai essayé ce code mais il me met "incompatibilité de type"

Sub création_fichier()
'
Dim newWbk As Workbook, curWbk As Workbook
Set curWbk = ThisWorkbook
Set newWbk = Application.Workbooks.Add
ThisWorkbook.SaveCopyAs curWbk.Path & "\" & Range("D8:F8")
'
End Sub

T'aurais une idée?

Merci
 
Re : Renseignement macro créa nouveau fichier

re,

à tester :
Dim newFileName As String
newFileName = Range("D8").Value & Range("E8").Value & Range("F8").Value
ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & newFileName & ".xls"

si tes cellules D8, E8, et F8 sont fusionnées, il suffit de mettre
newFileName = Range("D8").Value

a+
 
Re : Renseignement macro créa nouveau fichier

Merci de ton aide, mais quand j'éxécute cette macro, le met un petit sablier puis rien, pas d'erreur, mais pas de fichier non plus:

Pour info la macro que j'ai utilisée:

Sub création_fichier()
'
Dim newFileName As String
newFileName = Range("D8").Value
ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & newFileName & ".xls"
End Sub
(c'est normal qu'il n'y ai rien pour indiquer sur quelle feuille la case D8 doit etre séléctionnée?)

Merci bien
 
Re : Renseignement macro créa nouveau fichier

Tiens je te donne un dossier ZIP avec le fichier que je souhaiterais dupliquer, j'aimerais que le nouveau classeur porte le nom de la cellule D8 de la feuille "définition PF" est-ce possible?

Merci bien pour ton aide
 

Pièces jointes

Re : Renseignement macro créa nouveau fichier

Qqun pour m'aider?
Je voudrais creer une macro qui crée un nouveau classeur à l'identique de celui que j'ai, avec le meme nombre d'onglet, si possible possédant les meme noms que le fichiers pere.

Merci

PS: piece dans mon dernier message
 
Re : Renseignement macro créa nouveau fichier

re,

essaye avec ce code :

Code:
Sub copy()
ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("définition PF").Range("D7").Value & ".xls"
End Sub

par contre, j'ai mis la valeur de la cellule D7 (la D8 était vide).

a+
 
Re : Renseignement macro créa nouveau fichier

Salut mromain,

Je ne sais pas, ça ne marche pas, il y a tjrs le petit sablier puis rien, pas d'erreur mais pas de fichier non plus qui s'ouvre, bizarre

une idée?
 
Re : Renseignement macro créa nouveau fichier

salut,

voici une macro qui je pense te conviendra.
Cependant, je reste persuadé qu'un "SaveCopyAs" resterai plus simple

Quelle version d'excel utilises-tu ?

Code:
Sub copy()

Dim newWbk As Workbook, curWbk As Workbook, curSheet As Worksheet

Set curWbk = ThisWorkbook
Set newWbk = Application.Workbooks.Add

[COLOR="Green"]'ne garder que la première feuille[/COLOR]
While newWbk.Sheets.Count > 1
    Application.DisplayAlerts = False
    newWbk.Sheets(2).Delete
    Application.DisplayAlerts = True
Wend

[COLOR="Green"]'copier toutes les feuilles[/COLOR]
For Each curSheet In curWbk.Sheets
    curSheet.copy after:=newWbk.Sheets(newWbk.Sheets.Count)
Next curSheet
[COLOR="Green"]
'supprimer la première feuille du nouveau classeur[/COLOR]
Application.DisplayAlerts = False
newWbk.Sheets(1).Delete
Application.DisplayAlerts = True

End Sub

a+
 
Re : Renseignement macro créa nouveau fichier

MERCI, cette macro marche nickel
Dit moi j'aimerais donner un nom au classeur crée:
J'avais ce code pour nommer mon précédent fichier mais je ne sais pas ou le placer dans le nouveau code que tu m'as donné.

newWbk.SaveAs curWbk.Path & "\" & Range("D4")

Amicalement
 
Re : Renseignement macro créa nouveau fichier

re,

avant le "End Sub", tu met
newWbk.SaveAs curWbk.Path & "\" & curWbk.Sheets("le nom de ta feuille").Range("D4") & ".xls"

et si tu veux fermer le fichier créé, tu rajoutes :
newWbk.Close savechanges:=True

a+
a+
 
Re : Renseignement macro créa nouveau fichier

Salut,

J'ai rajouté la phrase, mais il me met erreur, débugage, je ne vois pas quoi faire, le code pour info:

Sub création_fichier()
Dim newWbk As Workbook, curWbk As Workbook, curSheet As Worksheet

Set curWbk = ThisWorkbook
Set newWbk = Application.Workbooks.Add

'ne garder que la première feuille
While newWbk.Sheets.Count > 1
Application.DisplayAlerts = False
newWbk.Sheets(2).Delete
Application.DisplayAlerts = True
Wend

'copier toutes les feuilles
For Each curSheet In curWbk.Sheets
curSheet.copy after:=newWbk.Sheets(newWbk.Sheets.Count)
Next curSheet

'supprimer la première feuille du nouveau classeur
Application.DisplayAlerts = False
newWbk.Sheets(1).Delete
Application.DisplayAlerts = True
newWbk.SaveAs curWbk.Path & "\" & curWbk.Sheets("Définiton PF").Range("D8")End Sub


Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

C
  • Question Question
Réponses
4
Affichages
901
C
C
Réponses
0
Affichages
1 K
cptass71
C
D
Réponses
1
Affichages
2 K
DukeDevlin
D
R
Réponses
15
Affichages
5 K
razorlight
R
Y
Réponses
16
Affichages
2 K
Yvouille
Y
C
Réponses
5
Affichages
4 K
chikchik
C
D
Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…