Macro pour copier et renommer un onglet ou le selectionner

  • Initiateur de la discussion Initiateur de la discussion lili2693
  • 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 !

lili2693

XLDnaute Nouveau
Bonjour à tous,

J'aimerai faire une macro qui, en fonction des onglets déjà existants dans mon fichier, copie un onglet et le renomme si celui-ci n'existe pas déjà ou qui le sélectionne simplement si il existe déjà dans mon fichier...

J'ai essayé avec le code suivant :

Sub test()

nom = InputBox("Veuillez définir le nom de l'onglet")

If nom <> ListeFeuille Then
Sheets("Nouvel Onglet").Select
Sheets("Nouvel Onglet").Copy after:=Sheets(1)
ActiveSheet.Name = nom
Else
Sheets(nom).Select
End If

End Sub

Mais il fait toujours comme si le nom était différent de la table ou se trouve le nom de tous mes onglets... Je pense que je dois faire qqch de faux mais si qqun à une solution à me proposer ça serait TOP 😉
Le fichier est en pièces jointes 😉

Merci d'avance pour votre aide 😉

Bonne journée
 

Pièces jointes

Re : Macro pour copier et renommer un onglet ou le selectionner

Bonjour,
Peut-être ceci

Sub test()
flag = 0
nom = InputBox("Veuillez définir le nom de l'onglet")
For Each sh In ActiveWorkbook.Sheets
If nom = sh.Name Then flag = 1: Exit For
Next
If flag = 1 Then
flag = 0
Sheets(nom).Select
GoTo fin
End If
Stop
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)

ActiveSheet.Name = nom

Sheets(nom).Select


fin:
End Sub


a+
 
Re : Macro pour copier et renommer un onglet ou le selectionner

Bonjour Lili; et le forum;

Voici une proposition de solution

Cordialement


Réedit 😛as vue le poste de Chalet53. Mes amitiés
 

Pièces jointes

Dernière édition:
Re : Macro pour copier et renommer un onglet ou le selectionner

Dernière petite question, j'aimerai ensuite pouvoir après ce résultat, sélectionner l'onglet après qu'il soit renommé (indépendamment qu'il vienne d’être crée ou juste sélectionné). Que dois-je inscrire dans la macro ?

Sheets(sNomShe).select ou autre chose ??

Merci de me redire 😉
 
Re : Macro pour copier et renommer un onglet ou le selectionner

Re;

Modifie le test
'si exit alors activation
If FindSheet(sNomShe) = True Then
ThisWorkbook.Sheets(sNomShe).Select
Range("A1").Select
Else
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = sNomShe
End If

en
'si exit alors activation
If FindSheet(sNomShe) = True Then
ThisWorkbook.Sheets(sNomShe).Select
Range("A1").Select
Else
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = sNomShe
ThisWorkbook.Sheets(sNomShe).Select
Range("A1").Select
End If

Si j'ai bien compris.

Cordialemenr
 
- 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

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
245
Retour