aide avec une macro excel
Dernière réponse : dans Programmation
slt
j'aurait besoin d'aide avec une macro. pour insérer une nouvelle feuille et lui donner le nom du mois suivant la feuille en cours (par exemple de Janvier passer à février et ainsi de suite)ainsi que de copier un tableau de la premiére feuille dans la feuille que je viens de créer et dans effacer les données à chaque fois que la feuille est créer!!
le problème c'est que je ne sait pas comment faire pour donner le nom a ma feuille tout en lui collant des donner à effacer à chaque mois.
Je connais le code pour effacer mais a chaque fois ke le nom de la feuille change il me mets que ma feuille est inconnue ce qui lance le débogage.
est-ce que quelqu'un peut m'aider???
j'aurait besoin d'aide avec une macro. pour insérer une nouvelle feuille et lui donner le nom du mois suivant la feuille en cours (par exemple de Janvier passer à février et ainsi de suite)ainsi que de copier un tableau de la premiére feuille dans la feuille que je viens de créer et dans effacer les données à chaque fois que la feuille est créer!!
le problème c'est que je ne sait pas comment faire pour donner le nom a ma feuille tout en lui collant des donner à effacer à chaque mois.
Je connais le code pour effacer mais a chaque fois ke le nom de la feuille change il me mets que ma feuille est inconnue ce qui lance le débogage.
est-ce que quelqu'un peut m'aider???
Autres pages sur : aide macro excel
Lassé par la pub ? Créez un compte
voila mon code :
et ce que je voudrait c'est renommer ma feuille avec le nom du mois qui ce mets automatiquement mais quand j'essaye de modifier le nom c'est le reste du code qui ne fonctionne plus et comme je ne suis pas très douée c'est le code d'une macro enregistré automatiquement
Sheets("Feuil1").Select
Sheets.Add
Sheets("Feuil1").Select
Selection.Copy
Sheets("Feuil4").Select
ActiveSheet.Paste
Range("A2:Y14").Select
Application.CutCopyMode = False
Selection.ClearContents
et ce que je voudrait c'est renommer ma feuille avec le nom du mois qui ce mets automatiquement mais quand j'essaye de modifier le nom c'est le reste du code qui ne fonctionne plus et comme je ne suis pas très douée c'est le code d'une macro enregistré automatiquement
je te conseille de lire sa d'abord :
http://www.presence-pc.com/forum/ppc/Programmation/Quelques-regles-simples-respecter-A-lire-avant-poster-sujet-1356-1.htm
http://www.presence-pc.com/forum/ppc/Programmation/Quelques-regles-simples-respecter-A-lire-avant-poster-sujet-1356-1.htm
désolée de le dire mais j'ai l'impression que c'est du chinois.
j'avais deja utilisée l'aide pour chaque code mais je n'arive pas à les synthétiser car je n'arive pas a faire la difference entre ce qui est utile ou non.
lorsque j'ai essayer de sythétiser la partie pour renommer ca m'a donner ceci :
Sheets("Feuil1").Select
Sheets.Add.name = "month"
mais ca ne fonctionne pas
j'avais deja utilisée l'aide pour chaque code mais je n'arive pas à les synthétiser car je n'arive pas a faire la difference entre ce qui est utile ou non.
lorsque j'ai essayer de sythétiser la partie pour renommer ca m'a donner ceci :
Sheets("Feuil1").Select
Sheets.Add.name = "month"
mais ca ne fonctionne pas
ma feuille ne s'apelle pas feuille 1 mais feuill 4 car je l'ajoute a partir de ma feuille 1 donc c'est sur ma feuille 1 ou 4 que je met les parenthèses.
et pour le reste lorsque j'essaye de coller les information de mon ancienne feuille dans la nouvelle le nom de ma feuille ne fonctionne plus puisque j'ai modifier le nom et meme si je met feuille 4 ca ne fonctionne pas.
benharkouab a dit :
ma feuille ne s'apelle pas feuille 1 mais feuill 4 car je l'ajoute a partir de ma feuille 1 donc c'est sur ma feuille 1 ou 4 que je met les parenthèses.et pour le reste lorsque j'essaye de coller les information de mon ancienne feuille dans la nouvelle le nom de ma feuille ne fonctionne plus puisque j'ai modifier le nom et meme si je met feuille 4 ca ne fonctionne pas.
de toute fason comme tu l'as ecrit ton code te permet d'ajouter une autre cheet et pour le mois il faut ecrire
Sheets.Add.name = Month(Date)
mais cela donne juste le numero du mois alors a toi de trouver le reste
la fonction Format devrait te permettre de convertir ton mois en texte.
Ensuite oublie l'utilisation de Sheets("toto").add...
Si tu veux ajouter une feuille passe par Workbooks.add et fais en sorte d'ajouter la feuille à la fin (ou en premier) comme ca après il est simple de la renommer.
PS : Edit tes premiers message et met des balises code (sous entendu par Zeb, car sinon ca lui brouille la vue, il est myope comme une taupe ou un calamar...)
Ensuite oublie l'utilisation de Sheets("toto").add...
Si tu veux ajouter une feuille passe par Workbooks.add et fais en sorte d'ajouter la feuille à la fin (ou en premier) comme ca après il est simple de la renommer.
PS : Edit tes premiers message et met des balises code (sous entendu par Zeb, car sinon ca lui brouille la vue, il est myope comme une taupe ou un calamar...)
merci beaucoup j'ai reussi a créer ma feuille en lui donnant un autre nom
cependant j'ai un probleme lorsque je copie les donné de mon tableau sur la feuille que je viens de créer car il me copie mon tableau sur la premiere feuille
mon code est celui ci
est lorsque je relance la macro elle me copie les données selectionné sur ma feuille actuelle au lieu de les copier sur la feuille ke je vien de creer
cependant j'ai un probleme lorsque je copie les donné de mon tableau sur la feuille que je viens de créer car il me copie mon tableau sur la premiere feuille
mon code est celui ci
Workbooks.add
Range("A1:Y15").Select
Selection.Copy
ActiveSheet.Paste
Range("A2:Y14").Select
Application.CutCopyMode = False
Selection.ClearContents
est lorsque je relance la macro elle me copie les données selectionné sur ma feuille actuelle au lieu de les copier sur la feuille ke je vien de creer
Toujours l'éternel problème : ne pas mettre de Select, de Selection, de ActiveTruc. Et apprendre à se servir de Copy.
(Je vais faire un topic là-dessus)
Oui, je sais, j'ai utilisé ActiveSheet. Mais c'est dans le cahier des charges
A ce propos, coraya, est-ce la feuille active ou la derière feuille du classeur qui t'intéresse ?
(Je vais faire un topic là-dessus)
Dim ancienne_feuille as WorkSheet
Dim nouvelle_feuille as WorkSheet
' Feuille active.
Set ancienne_feuille = ActiveSheet
' Création, à la fin d'une nouvelle feuille.
Set nouvelle_feuille = Sheets.Add after:=Sheets(Sheets.Count)
' Donner un nom à la feuille
nouvelle_feuille.Name = "donne lui le nom que tu veux"
' Copier directement sans passer par le presse-papier
ancienne_feuille.Range("A1:Y15").Copy destination:=nouvelle_feuille.Range("A1:Y15")
' Nettoyer
ancienne_feuille.Range("A1:Y15").ClearContents
Oui, je sais, j'ai utilisé ActiveSheet. Mais c'est dans le cahier des charges
A ce propos, coraya, est-ce la feuille active ou la derière feuille du classeur qui t'intéresse ?
C'est tout à fait logique puisque tu ne précise pas qu'elle onglet tu veux remplir. Donc il faut que tu garde en mémoire la feuille que tu as créé.
Par contre ton code me parait absurde puisque tu ajoutes une feuille qui devient la feuille active, ensuite tu copies A1:Y15 dans A2:Y14 et tu supprime le contenu de A2:Y14...
Ton reprends tout en maitrisant les feuilles que tu modifies, evites l'utilisation de activeSheets, Select, le copy paste aussi...
Le code ci dessous devrait t'aider.
Grilled...
Par contre ton code me parait absurde puisque tu ajoutes une feuille qui devient la feuille active, ensuite tu copies A1:Y15 dans A2:Y14 et tu supprime le contenu de A2:Y14...
Ton reprends tout en maitrisant les feuilles que tu modifies, evites l'utilisation de activeSheets, Select, le copy paste aussi...
Le code ci dessous devrait t'aider.
Dim nv_feuille as worksheet
Set nv_feuille = Sheets.add()
nv_feuille.name = "toto"
nv_feuille.range("A1:Y15").copy Range("A2:Y14")
nv_feuille.Range("A2:Y14").clearcontent
Grilled...
Lassé par la pub ? Créez un compte
- Contenus similaires :

Merci