Tester ajout d'une nouvelle feuille

Bonjour

je fais encore appel à vous pour résoudre le dernier point bloquant de mon projet.

Je souhaite ajouter une feuille, dont le nom est variable. Comme je travaille sur un fichier partagé, il me faut tester son existence, pour ne pas la créer une seconde fois.

On m'a aidé à construire la routine ci dessous (non testé en formation), mais celle ci crée quand même une nouvelle feuille.

Dans ces conditions, le nombre de feuilles du fichier s'allonge très vite.

Le nom de la variable pour la feuille est NomAna.

Je mets le fichier en annexe. Le formulaire concerné est 'UrgentLancement'

Merci d'avance pour votre aide.

A+

Frederic

Private Sub TestOnglet()

    Err.Clear 'vider l'erreur pour les prochaines

    On Error Resume Next

    Sheets(NomAna).Add After:=Sheets(Sheets.Count)
    'si la feuille n'existe pas on crée une erreur
    If Err.Number <> 0 Then 'une erreur donc on ajoute la feuille
        ActiveWorkbook.Sheets.Add
        ActiveSheet.Name = NomAna
        Sheets(NomAna).Move After:=Sheets(Sheets.Count)
        Err.Clear 'vider l'erreur pour les prochaines
    Else

    End If
    On Error GoTo 0 'reprendre la non gestion des erreurs pour voir fenêtre debogage

End Sub
10v4.zip (76.86 Ko)

Bonsoir

Remplaces ta macro macro actuelle

Private Sub TestOnglet()

  If FeuilleExiste(NomAna) = False Then
    Sheets.Add(after:=Sheets(Sheets.Count)).Name = NomAna
  End If
End Sub

Function FeuilleExiste(Nom As String) As Boolean
  On Error Resume Next
  FeuilleExiste = Sheets(Nom).Name <> ""
  On Error GoTo 0
End Function

Bonjour Banzaï, bonjour à tous

çà marche super bien.

Tu es vraiment une aide précieuse pour ce forum.

Encore un grand merci

Frederic

Rechercher des sujets similaires à "tester ajout nouvelle feuille"