macro pour créer des feuilles

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 !

gregouille

XLDnaute Nouveau
bonjour à tout le monde et merci de vous arreter sur ce post

voilà mon petit problème : là ou je boss on fait des astreintes et apres chaque deplacement on doit remplir un tableau récapitulatif ainsi qu'une fiche d'intervention

ce que je cherche à faire : automatiser la création (partielle) de mes fiches d'intervention à partir du tableau récapitulatif
et pour cela je pense qu'une petite macro serait la bienvenue mais mes connaissances dans ce domaine sont plus que limité

j'explique un peu plus en detail : j'ai un tableau avec dates, heures, lieu, motif, et à partir de ce tableau je voudrais créer une fiche par ligne basé sur un modéle. j'ai réussis à copier le modèle et à en compléter un pour une ligne mais je coince sur le fait qu'il faut en créer une par ligne et qu'il arrète dès qu'une ligne est vide

c'est pourquoi apres avoir fait plusieurs recherche sur le net et en trouvant que tes tuto pour la creation de macros "basiques", je fais appel à vous

merci d'avance pour vos reponses

PS: je peux envoyer un specimen des tableaux sur demande
 

Pièces jointes

Dernière édition:
Re : macro pour créer des feuilles

Bonsoir,

je veux bien t'apporter une aide mais à la lecture de tes explications et du fichier, je ne vois pas ce que tu veux faire.😕
Alors peux-tu mieux expliquer ton pb et surtout par rapport au fichier que tu as donné.

A te lire
 
Dernière édition:
Re : macro pour créer des feuilles

donc en fait a chaque intervention que je fais je dois remplir le tableau et une fiche d'intervention

en fait je veux creer une macro qui me créer une nouvelle feuille de classeur, a chaque ligne que j'aurai ecris, et que sur chaque feuille il fasse une copie de "mod-fich" et qu'il la préremplisse (voir sur le nouveau classeur que j'envois)

dans mon exemple : j'ai fait 3 interventions donc il doit me créer 3 fiche prérempli
mais si je fais admettons 10 interventions il devra m'en créer 10
en fait il doit m'en créer autant que de lignes remplis dans mon tableau
 

Pièces jointes

Re : macro pour créer des feuilles

Re,

OK Gregouille j'ai compris ce que tu veux faire.
Je suis en train de te préparer un fichier.
Quelques questions toutefois :
- quel nom veux-tu attribuer à chaque nouvelle feuille créée.
- je suppose également que tu complètes ton fichier en une seule fois car dans le cas contraire le programme créera chaque fois une feuille pour chaque ligne.
- La plage actuelle va de la ligne 10 à 32. Est-ce qu'elle peut grandir ou non ?

A te lire
 
Re : macro pour créer des feuilles

un nom tout simple
fich_1 fich_2 ...

je suppose également que tu complètes ton fichier en une seule fois car dans le cas contraire le programme créera chaque fois une feuille pour chaque ligne.

c'est ce que je recherche sauf que je rempli qu'une feuille par semaine et que je fais rarement plus de 10 intervention par semaine
 
Re : macro pour créer des feuilles

Bonjour,

Revoici ton fichier avec le programme qui fera ce que tu demandes.

Les feuilles crées portent le nom "fich_" accompagné du numéro de ligne de la feuille Tableau. Donc pour la ligne 10 dans la feuille "Tableau", le nom de ta feuille sera "fich_10" et ainsi de suite.
Le programme travaille à partir des données encodées entre les lignes 10 à 32 et si la colonne A contient une date.
Pour laisser la colonne A libre, j'ai déplacé la mention "Totaux en minutes" vers la colonne B.

Pour exécuter le programme appuie sur les touches CTRL + e

Si les nouvelles feuilles créées existent déjà dans ton fichier, elles seront renommées comme la feuille "mod_fich". Exemple : si "fic_10" existe à nouveau nom = "mod_fich(2)"

Vois si cela te convient et si pb n'hésite pas.
 

Pièces jointes

Re : macro pour créer des feuilles

un grand merci à toi

il y a just une petite modif que je voudrais y apporter c'est caché les feuilles : aid_form et mod_fich

sauf que quand je masque mod_fich les nouvelles feuilles créer sont masquées elles aussi

un autre petit detail (je suppose que oui) mais serait-il possible de mettre la macro sur un bouton non imprimable ?
 
Re : macro pour créer des feuilles

ensuite j'ai repris un peu la macro pour qu'elle commence a numéroter les feuilles a partir du chiffre 1 (voir en rouge)

Sub Transfert()
'Macro par DAN pour Greg le 19/09/2006
'Fil : https://www.excel-downloads.com/threads/macro-pour-creer-des-feuilles.66977/
Dim i As Byte, lig As Integer, ligne As Integer
Application.ScreenUpdating = False
On Error Resume Next
lig = Sheets("Tableau").Range("A32").Row
For i = 10 To lig
If Sheets("Tableau").Range("A" & i).Value = 0 Then End
Sheets("mod_fich").Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "fich_" & i - 9
With ActiveSheet
.Cells(3, 9) = Sheets("Tableau").Cells(i, 1).Value
.Cells(5, 9) = Sheets("Tableau").Cells(i, 2).Value
.Cells(6, 5) = Sheets("Tableau").Cells(i, 13).Value
.Cells(42, 9) = Sheets("Tableau").Cells(i, 10).Value
End With
Next i
Application.ScreenUpdating = True
End Sub

edit/: c'est bon pour le bouton j'ai trouvé me manque juste la modif pour pas masquer les feuilles
 
Dernière édition:
Re : macro pour créer des feuilles

Re,

Ci-dessous ta macro demandée :
Code:
Sub Transfert()
'Macro par DAN pour Gregouille  le 19/09/2006
'Fil : [URL]https://www.excel-downloads.com/threads/macro-pour-creer-des-feuilles.66977/[/URL]
Dim i As Byte, lig As Integer, ligne As Integer
Application.ScreenUpdating = False
 On Error Resume Next
 lig = Sheets("Tableau").Range("A32").Row
 For i = 10 To lig
 If Sheets("Tableau").Range("A" & i).Value = 0 Then _
 Sheets("mod_fich").Visible = False: End
 With Sheets("mod_fich")
    .Visible = True
    .Copy after:=Worksheets(Worksheets.Count)
 End With
 ActiveSheet.Name = "fich" & i - 9
 With ActiveSheet
 .Cells(3, 9) = Sheets("Tableau").Cells(i, 1).Value
 .Cells(5, 9) = Sheets("Tableau").Cells(i, 2).Value
 .Cells(6, 5) = Sheets("Tableau").Cells(i, 13).Value
 .Cells(42, 9) = Sheets("Tableau").Cells(i, 10).Value
 End With
Next i
Application.ScreenUpdating = True
End Sub

Bon ap.
 
- 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

Réponses
2
Affichages
500
  • Question Question
XL 2019 B
Réponses
10
Affichages
412
Retour