Variable nom de feuille dans un formulaire

  • Initiateur de la discussion Initiateur de la discussion Sniff
  • Date de début Date de début

Sniff

XLDnaute Nouveau
Bonsoir,

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.


Merci d'avance pour votre aide
 

Grand Chaman Excel

XLDnaute Impliqué
Re : Variable nom de feuille dans un formulaire

Bonjour Sniff,

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

A+
 

Sniff

XLDnaute Nouveau
Re : Variable nom de feuille dans un formulaire

Bonjour Sniff,

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

A+


Bonjour,

Merci beaucoup pour ton aide, je n'ai eu qu'à utiliser la ligne de code Sheets(Sheets.Count).Name = sNom pour obtenir le résultat que j'attendais.

Désolée de ne pas avoir joint de fichiers, mais je n'ai pas internet à mon boulot, j'ai fait ça hier soir vite fait, ca n'était pas prévu!

Encore merci
Bonne soirée
 

Discussions similaires

Réponses
4
Affichages
187
Réponses
27
Affichages
1 K
Réponses
17
Affichages
1 K
Réponses
7
Affichages
457
  • Question Question
Microsoft 365 Nom variable dans Macro
Réponses
2
Affichages
281
Réponses
8
Affichages
240

Statistiques des forums

Discussions
315 284
Messages
2 118 014
Membres
113 406
dernier inscrit
NI-ZE