XL 2016 Ajouter Code VBA à Macro existante

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

BANDIN

XLDnaute Junior
Bonjour,

je suis un peu novice en Macro mais j'avoue je découvre que ça ouvre pas mal de possibilités.
Dans le classeur ci-joint j'aimerais ajouter à la macro existante "NOUVEAUJOUEUR", la modification du nom de l'onglet par le nom du joueur que je viens de créer. Du coup l'onglet "Modèle (2)" devrait se nommer "G". Si on peut m'expliquer juste l'étape à suivre ça me va.

Merci beaucoup de votre aide

Bandin
 

Pièces jointes

Salut Bandin,

tout simplement...
Reste à goupiller en fonction de ta façon de créer un nouveau joueur et je t'avoue que j'ai pas épluché le code issu de l'enregistreur de macros.

VB:
On Error Resume Next
If Not Worksheets("Modèle (2)") Is Nothing Then Worksheets("Modèle (2)").Name = "G"
On Error GoTo 0

😎
A+
 
Bonsoir,
Pour vous aider et pour exemple, votre Macro NOUVEAUJOUEUR pourrait être simplifiée de la sorte :
VB:
Sub NOUVEAUJOUEUR()
'
' NOUVEAUJOUEUR Macro
'
' Touche de raccourci du clavier: Ctrl+Shift+N
'
 Dim Sh As Worksheet
 Set Sh = Worksheets([LISTEJOUEURS].Parent.Name)
    [LISTEJOUEURS].ListObject.ListRows.Add (1)
    [LISTEJOUEURS[Nom]].Rows(1) = Sh.[G4]
    [LISTEJOUEURS[prenom]].Rows(1) = Sh.[I4]
    [LISTEJOUEURS[Club]].Rows(1) = Sh.[K4]
    [LISTEJOUEURS[Poste]].Rows(1) = Sh.[M4]
    [LISTEJOUEURS[DATE NAISSANCE]].Rows(1) = Sh.[O4]
     Sh.Range("G4,I4,K4,M4,O4").ClearContents
 Set Sh = Nothing
    
     Worksheets("MODELE").Copy After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = [LISTEJOUEURS[Nom]].Rows(1)
    
    [C1] = [LISTEJOUEURS[Nom]].Rows(1)
    [F1] = [LISTEJOUEURS[prenom]].Rows(1)
    [H1] = [LISTEJOUEURS[Club]].Rows(1)
    [J1] = [LISTEJOUEURS[DATE NAISSANCE]].Rows(1)
    [L1] = [LISTEJOUEURS[Poste]].Rows(1)
    
End Sub

Toutefois, je pense qu'il serait plus judicieux de renommer l'onglet avec Nom+Prénom pour éviter tant que ce soit les homonymes .
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
244
Réponses
3
Affichages
952
Retour