Comment générer une feuille excel

Résolu/Fermé
dyfresh - 6 avril 2009 à 05:15
dyfresh Messages postés 6 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 18 avril 2009 - 6 avril 2009 à 08:58
Bonjour,
Hi guy
je dois faire un petit programme avec VBA étant débutant je ne sais pas par où commencer: voila je dois générer des feuille Excel à la demander a partir d'un userform dans un classeur déjà existant afin d'enregistrer des données entrées par l'utilisateur.
Ce que je voudrais c'est quand l'utilisateur click sur un bouton command, le programme copie un feuille (un genre de template que j'ai créé) renomme la feuille
J'espere que mes explication sont pas trop flou
Merci d'avance
A voir également:

4 réponses

leplot Messages postés 191 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 13 août 2015 131
6 avril 2009 à 08:22
Bonjour,

le plus simple pour toi, c'est d'enregistrer les opérations que tu veux faire :
duplication du modèle, renommage de la copie etc...

tu récupères ensuite le code et tu l'adaptes.
Cela te permet de retrouver toutes les formules utilisées.
0
dyfresh Messages postés 6 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 18 avril 2009
6 avril 2009 à 08:36
Hi
Merci c'est gentil de répondre rapidement, et effectivement, c'est un bonne idée mais comment fait-on pour dupliquer et renommer un feuille Excel?
et si j'ai bien compris je crée une macro lorsqu'on click elle fait une copie et on a la possibilité de renommer la feuille

tks
0
leplot Messages postés 191 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 13 août 2015 131
6 avril 2009 à 08:44
re,

pour enregistrer une nouvelle macro : outils / macro/ nouvelle macro
pour dupliquer une feuille : clic droit sur l'onglet / déplacer ou copier / cocher copie et choisir l'emplacement (dans le même fichier ou dans un autre).

tu récupères un code de ce style
Sheets("Feuil1").Select
Sheets("Feuil1").Copy After:=Sheets(1)
Sheets("Feuil1 (2)").Select
Sheets("Feuil1 (2)").Name = "test"
Range("D30").Select

tu le corriges en :
Sheets("Feuil1").Select
Sheets("Feuil1").Copy After:=Sheets("Feuil1")
Sheets(Sheets("Feuil1").index+1).Name = "test"

pour copier après la feuille de départ. Sheets("Feuil1").index+1 ==> index de la nouvelle feuille (après la feuille de départ donc index+1).
Si après copy tu ne mets rien, la nouvelle feuille est insérée au début et devient sheets(1)
Tu peux également mettre .copy before:Sheets("Feuil1") et dans ce cas, le nouvel index est Sheets("Feuil1").index-1

A +
0
dyfresh Messages postés 6 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 18 avril 2009
6 avril 2009 à 08:58
Merci bcp de ton aide ca fonctionne bien
0