Creer des nouvelles feuilles a partir d'une feuille modele
SueZollars
Messages postés
10
Statut
Membre
-
Sophie -
Sophie -
Bonjour a tous,
Je suis nouvelle ici et j'ai lu quelques discussions mais je n'ai rien trouve qui puisse resoudre mon probleme (ou je n'ai peut etre rien compris).
Je voudrai creer un classeur excel dont la premiere feuille serait le modele des feuilles qui seront generees par la suite. Sur cette feuille, je compte extraire chaque jour des donnes d'un programme que j'utilise dans mon entreprise.
Voila ce que j'essaye de faire sur cette 1ere feuille :
1_ Rentrer la date dans la cellule A1, la je voudrait qu'une nouvelle feuille se creee automatiquement, avec la date comme nom, et le meme format que la feuille 1
2_ Faire mon extraction journaliere sur la nouvelle feuille.
La ou je bloque : je ne trouve pas comment creer une nouvelle feuille avec le meme format que la feuille modele. Et, au niveau de l'extraction journaliere, est ce je peux appliquerla meme macro sur mes nouvelles feuilles ou non?
Je suis novice en Excel/VBA donc j'ai vraiment besoin d'aide :( J'espere que j'ai ete claire, je ne suis meme pas sure de me comprendre moi meme...
Merci d'avance !
Je suis nouvelle ici et j'ai lu quelques discussions mais je n'ai rien trouve qui puisse resoudre mon probleme (ou je n'ai peut etre rien compris).
Je voudrai creer un classeur excel dont la premiere feuille serait le modele des feuilles qui seront generees par la suite. Sur cette feuille, je compte extraire chaque jour des donnes d'un programme que j'utilise dans mon entreprise.
Voila ce que j'essaye de faire sur cette 1ere feuille :
1_ Rentrer la date dans la cellule A1, la je voudrait qu'une nouvelle feuille se creee automatiquement, avec la date comme nom, et le meme format que la feuille 1
2_ Faire mon extraction journaliere sur la nouvelle feuille.
La ou je bloque : je ne trouve pas comment creer une nouvelle feuille avec le meme format que la feuille modele. Et, au niveau de l'extraction journaliere, est ce je peux appliquerla meme macro sur mes nouvelles feuilles ou non?
Je suis novice en Excel/VBA donc j'ai vraiment besoin d'aide :( J'espere que j'ai ete claire, je ne suis meme pas sure de me comprendre moi meme...
Merci d'avance !
A voir également:
- Créer une nouvelle feuille vba
- Comment créer un groupe whatsapp - Guide
- Darkino nouvelle adresse - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer une adresse hotmail - Guide
10 réponses
Bonjour,
Il te faudra en effet probablement passer par une macro, qui dupliquera ton 1er onglet (.Copy / .Paste) puis le renommera à partir du contenu de la cellule A1.
Ta 2ème feuille sera ainsi la copie conforme de la 1ère.
Par contre je ne suis pas sûr de comprendre ce que tu entends par "Et, au niveau de l'extraction journalière, est ce je peux appliquer la même macro sur mes nouvelles feuilles ou non? "
Bonne journée !
Il te faudra en effet probablement passer par une macro, qui dupliquera ton 1er onglet (.Copy / .Paste) puis le renommera à partir du contenu de la cellule A1.
Ta 2ème feuille sera ainsi la copie conforme de la 1ère.
Par contre je ne suis pas sûr de comprendre ce que tu entends par "Et, au niveau de l'extraction journalière, est ce je peux appliquer la même macro sur mes nouvelles feuilles ou non? "
Bonne journée !
Bonsoir Sue
Le plus simple
Tu crées ta feuille modèle en Feuil 1 que tu appelles MODELE
Tu la masques
Tu mets l'enregistreur de macro en marche, tu donnes le nom et le raccourci que tu veux à ta macro puis :
Tu clic sur l'onglet de Feuil 2 puis Afficher et tu fais afficher MODELE
Tu clic sur l'onglet MODELE puis sur Deplacer Copier la feuille et tu coches bien l'option Copier
Tu clic à nouveau sur l'onglet MODELE et tu fais à nouveau cacher la feuille MODELE
ET tu arrêtes l'enregistreur de Macro
Chaque fois que tu lancera l'exécution de la macro une nouvelle feuille identique à MODELE sera créee qu'il te suffira de renommer comme tu veux
Cdlmnt
Le plus simple
Tu crées ta feuille modèle en Feuil 1 que tu appelles MODELE
Tu la masques
Tu mets l'enregistreur de macro en marche, tu donnes le nom et le raccourci que tu veux à ta macro puis :
Tu clic sur l'onglet de Feuil 2 puis Afficher et tu fais afficher MODELE
Tu clic sur l'onglet MODELE puis sur Deplacer Copier la feuille et tu coches bien l'option Copier
Tu clic à nouveau sur l'onglet MODELE et tu fais à nouveau cacher la feuille MODELE
ET tu arrêtes l'enregistreur de Macro
Chaque fois que tu lancera l'exécution de la macro une nouvelle feuille identique à MODELE sera créee qu'il te suffira de renommer comme tu veux
Cdlmnt
Bonjour a tous,
Tout d'abord, merci beaucoup pour votre aide.
En etudiant vos reponses, je suis arrivee a quelque chose de plutot correct pour mon premier point. Je dupplique simplement la feuille 1 par une macro, que j'ai obtenu en parti par l'enregistreur.
Ce que je voulais dire par "Et, au niveau de l'extraction journalière, est ce je peux appliquer la même macro sur mes nouvelles feuilles ou non? " c'est qu'une fois ma feuille creee, je voudrais appliquer la macro qui extrait les donnees dont j'ai besoin. Mais est ce que la maccro que je vais creer va s'appliquer a toute ces nouvelles feuilles? J'ai cree un bouton associee a une macro sur la feuille 1 mais sur les autres feuilles qui sont dupliquee, la macro ne se lance pas lorque je clique sur ce bouton.
J'espere que je suis claire...
Merci encore
Tout d'abord, merci beaucoup pour votre aide.
En etudiant vos reponses, je suis arrivee a quelque chose de plutot correct pour mon premier point. Je dupplique simplement la feuille 1 par une macro, que j'ai obtenu en parti par l'enregistreur.
Ce que je voulais dire par "Et, au niveau de l'extraction journalière, est ce je peux appliquer la même macro sur mes nouvelles feuilles ou non? " c'est qu'une fois ma feuille creee, je voudrais appliquer la macro qui extrait les donnees dont j'ai besoin. Mais est ce que la maccro que je vais creer va s'appliquer a toute ces nouvelles feuilles? J'ai cree un bouton associee a une macro sur la feuille 1 mais sur les autres feuilles qui sont dupliquee, la macro ne se lance pas lorque je clique sur ce bouton.
J'espere que je suis claire...
Merci encore
Bonjour
Le bouton qui lance la macro est actif après duplication d'une feuille, il faut faire attention dans la macro de lancer celle-ci sur feuille active et non sur le nom d'une feuille et comme cela la macro peu servir sur toutes les nouvelles feuilles et elle s'exécutera sur la feuille active
Le bouton qui lance la macro est actif après duplication d'une feuille, il faut faire attention dans la macro de lancer celle-ci sur feuille active et non sur le nom d'une feuille et comme cela la macro peu servir sur toutes les nouvelles feuilles et elle s'exécutera sur la feuille active
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Effectivement, ca marche :)
Il ne me reste plus qu'a m'occuper de mon extraction...
Merci beaucoup en tout cas :)
Il ne me reste plus qu'a m'occuper de mon extraction...
Merci beaucoup en tout cas :)
J'abuse de votre aide mais j'ai un souci...
Quand, dans ma feuille 1, je tape en A1 une date qui a deja ete utilisee, la macro bug car l'onglet existe deja.
J'ai essaye d'ajouter a ma macro existante un test qui affiche une message box type "cette date existe deja" pour pouvoir ensuite rentrer une autre date. Je suis passee par une fonction que j'ai trouvee dans un forum mais ca n'a pas l'air de fonctionner. La macro bug toujours, la message box s'affiche tout le temps, meme quand la date est correct. Bref je ne sais pas comment construire ma macro avec cette nouvelle condition.
J'espere que vous pourrez m'aider.
Merci d'avance !
Quand, dans ma feuille 1, je tape en A1 une date qui a deja ete utilisee, la macro bug car l'onglet existe deja.
J'ai essaye d'ajouter a ma macro existante un test qui affiche une message box type "cette date existe deja" pour pouvoir ensuite rentrer une autre date. Je suis passee par une fonction que j'ai trouvee dans un forum mais ca n'a pas l'air de fonctionner. La macro bug toujours, la message box s'affiche tout le temps, meme quand la date est correct. Bref je ne sais pas comment construire ma macro avec cette nouvelle condition.
J'espere que vous pourrez m'aider.
Merci d'avance !
Salut Grincheux et les autres,
Voila mon "test", je l'ai modifiee entre temps pour resoudre mon probleme, mais il ne fonctionne toujours pas.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte
If Intersect(Target, [B1]) Is Nothing Then
Else
If Target.Value <> "" Then
For i = 1 To Sheets.Count
If Target.Value = Sheets(i).Name Then
MsgBox "La feuille existe déjà !!!"
Exit Sub
Next i
Else
ActiveWorkbook.Sheets(1).Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = [B1]
End If
Else
MsgBox ("Rentrer la date")
End If
End If
End Sub
Voila mon "test", je l'ai modifiee entre temps pour resoudre mon probleme, mais il ne fonctionne toujours pas.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte
If Intersect(Target, [B1]) Is Nothing Then
Else
If Target.Value <> "" Then
For i = 1 To Sheets.Count
If Target.Value = Sheets(i).Name Then
MsgBox "La feuille existe déjà !!!"
Exit Sub
Next i
Else
ActiveWorkbook.Sheets(1).Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = [B1]
End If
Else
MsgBox ("Rentrer la date")
End If
End If
End Sub
Bonjour Eric,
J'ai essaye de prendre en compte tes remarques concernant mes erreurs d'ecriture sur les bouclesm les if... J'en arrive a la :
Par contre, je ne comprends pas trop ce que tu dis par rapport a la variable boolean, peux tu me donner plus d'explications stp ?
Merci d'avance
J'ai essaye de prendre en compte tes remarques concernant mes erreurs d'ecriture sur les bouclesm les if... J'en arrive a la :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
If Intersect(Target, [B1]) Is Nothing Then
Else
For i = 1 To Sheets.Count
If [B1] = Sheets(i).Name Then
MsgBox "La feuille existe déjà !!!"
Exit Sub
End If
Next
ActiveWorkbook.Sheets(1).Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = [B1]
End If
End Sub
Par contre, je ne comprends pas trop ce que tu dis par rapport a la variable boolean, peux tu me donner plus d'explications stp ?
Merci d'avance
Bonjour,
sans tester ça donnerait ça :
Sinon tu as une autre technique qui consiste à interroger la propriété .name ou .index de ta feuille.
Si elle n'existe pas tu as une erreur.
Tu sais si elle existe ou pas en gérant l'erreur générée si elle est absente, sans à avoir de boucle à faire sur toutes les feuilles.
Ex d'une fonction faisant ça :
Si la feuille existe tu as son index, sinon 0 (Faux)
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
sans tester ça donnerait ça :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, ok As Boolean
If Not Intersect(Target, [B1]) Is Nothing Then
ok = True
For i = 1 To Sheets.Count
If [B1] = Sheets(i).Name Then
MsgBox "La feuille existe déjà !!!"
ok = False
Exit For
End If
Next
If ok Then
ActiveWorkbook.Sheets(1).Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = [B1]
End If
End If
End Sub
Sinon tu as une autre technique qui consiste à interroger la propriété .name ou .index de ta feuille.
Si elle n'existe pas tu as une erreur.
Tu sais si elle existe ou pas en gérant l'erreur générée si elle est absente, sans à avoir de boucle à faire sur toutes les feuilles.
Ex d'une fonction faisant ça :
Function existSheet(nomFeuille As String) As Long
On Error Resume Next
existSheet = Sheets(nomFeuille).Index
End Function
Si la feuille existe tu as son index, sinon 0 (Faux)
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.