Je dois créer un document excel pour suivre les performances des vendeurs de mon entreprise. Ce document est composé d'une feuille pour chaque vendeur, intitulée au nom du vendeur, ainsi que d'une feuille de synthèse pour centraliser tous les vendeurs et obtenir un résultat global.
L'équipe de vente étant amené à changer très fréquemment, il faut sans cesse créer de nouvelles feuilles pour intégrer les nouveaux vendeurs.
Étant très novice en macro excel et en langage VBA, j'ai utilisé l'enregistreur de macro pour créer la trame complète d'une feuille "Vendeur".
J'ai ensuite crée un formulaire me permettant de :
- Renommer la feuille qui va être créer en remplissant la zone "TextBox"
- Un CommandButton "Annuler" pour fermer le formulaire (code OK)
- Un CommandButton "Valider" dans laquelle j'ai affecté la macro que j'avais préalablement faite avec l'enregistreur de macro.
Lorsque j'utilise le formulaire pour lancer la macro et créer une première feuille, ça marche parfaitement.
Ça bugge à partir du moment où je veux renouveler l'opération => dans la ligne de code de la macro, il est indiqué "Feuil1". Or je pense qu'il faut une variable pour que l'exécution de la macro fonctionne.
Je ne sais pas comment procéder, j'espère que vous saurez m'apporter l'aide dont j'ai besoin.
Ce serait plus facile si tu avais joint ton fichier mais bon... Voici un exemple de code que tu pourras adapter à ton fichier.
En supposant que ta feuille "Vendeur" sert de gabarit pour les autres et que tu l'as appelé "Vendeur"..., ce code te permet de la copier à la fin et de la renommer. Ici j'ai mis le nom provenant d'une boîte de dialogue, mais dans ton cas ce serait le nom du Textbox.
Code:
Sub CopierFeuille()
Dim sNom As String
sNom = InputBox("Nom du vendeur= ? ")
Sheets("Vendeur").Copy after:=Sheets(Sheets.Count) 'copie feulle gabarit "Vendeur" à la fin
Sheets(Sheets.Count).Name = sNom 'renomme la dernière feuille
End Sub
Ce serait plus facile si tu avais joint ton fichier mais bon... Voici un exemple de code que tu pourras adapter à ton fichier.
En supposant que ta feuille "Vendeur" sert de gabarit pour les autres et que tu l'as appelé "Vendeur"..., ce code te permet de la copier à la fin et de la renommer. Ici j'ai mis le nom provenant d'une boîte de dialogue, mais dans ton cas ce serait le nom du Textbox.
Code:
Sub CopierFeuille()
Dim sNom As String
sNom = InputBox("Nom du vendeur= ? ")
Sheets("Vendeur").Copy after:=Sheets(Sheets.Count) 'copie feulle gabarit "Vendeur" à la fin
Sheets(Sheets.Count).Name = sNom 'renomme la dernière feuille
End Sub