Renommer une feuille en VBA - erreur si nom existant

Bonjour le forum

j'ai besoin de vos lumières.

Sur le fichier joint, j'ai un bouton Archiver (feuille "Observation") qui exécute la macro suivante :

copier une feuille "Modèle"

puis la renommer en fonction du contenu de la cellule C1

Mon problème est le suivant : si la feuille existe déjà, message d'erreur ! NORMAL

Mais je ne m'en sors pas malgré toutes mes recherches.

J'aimerais obtenir qq chose du style : "nom de la feuille existante (2)" si elle existe déjà, c'est à dire ajouter (2) puis (3) si la feuille (2) existe aussi...

Merci pour vos lumières.

Bonjour

A vérifier

Bonsoir,

une proposition de solution

edit : bonjour Banzai

Sub archiver()
'
' archiver Macro
'
Sheets("Modele").Visible = True
Sheets("Modele").Select
Sheets("Modele").Copy After:=Worksheets(Worksheets.Count)
ok = False
st = ""
While Not ok
  ok = True
  On Error GoTo terreur
  Sheets("Modele (2)").Name = Range("C1") & st
  On Error GoTo 0
  i = i + 1
  st = "(" & i & ")"
Wend
Sheets("Modele").Visible = False
Sheets("Observation").Select
Range("A1").Select
Exit Sub
terreur:
ok = False
Resume Next

End Sub

Bonsoir,

Comme je me suis aussi penché sur le problème, voici ton code transformé :

Sub archiver()
'
' archiver Macro
'
Sheets("Modele").Visible = True
Sheets("Modele").Select
Sheets("Modele").Copy After:=Sheets(4)

For i = 1 To Sheets.Count
    If Left(Sheets(i).Name, Len(Range("C1"))) = Range("C1") Then
        compteur = compteur + 1
    End If
Next

Sheets("Modele (2)").Name = Range("C1") & " - " & compteur
Sheets("Modele").Visible = False
Sheets("Observation").Select
Range("A1").Select

End Sub

Cordialement.

Bonsoir,

merci à vous 3 de vous être penché sur ce fichier.

J'ai retenu la solution de H2So4 qui fonctionne parfaitement.

Merci de votre réactivité et de votre efficacité.

JB BRUCHON

Rechercher des sujets similaires à "renommer feuille vba erreur nom existant"