Macro pour copier et renommer un onglet ou le selectionner

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

  • Test1.xlsm
    24.2 KB · Affichages: 67
  • Test1.xlsm
    24.2 KB · Affichages: 83
  • Test1.xlsm
    24.2 KB · Affichages: 80

CHALET53

XLDnaute Barbatruc
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+
 

Zdz16

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

Bonjour Lili; et le forum;

Voici une proposition de solution

Cordialement


Réedit :pas vue le poste de Chalet53. Mes amitiés
 

Pièces jointes

  • Test1_2.xlsm
    25.4 KB · Affichages: 123
Dernière édition:

lili2693

XLDnaute Nouveau
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 ;)
 

Zdz16

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 114
Membres
103 121
dernier inscrit
SophieS