Savoir si une feuille éxiste

Bonjour,

Je fais des tests pour savoir si une feuille éxiste pour soit :

  • la créer
  • la mettre à jour

J'y arrivais sur une autre macro, car le classeur d'origine était celui de la macro, ici je veux pouvoir utiliser la macro sur d'autres classeurs (en utilisant le ruban).

J'ai commencé deux trois trucs mais sans grand succés et je ne trouve pas l'appellation losqu'on ignore le nom de son Classeur :

 'Ouverture de deux nouvelles feuilles, une pour la charge, une pour la décharge. Si elles existent déjà sur le classeur actif, on met à jour les
'données déjà dessus
If ActiveSheet.Name <> ("Charge") Then
    ActiveWorkbooks.Sheets.Add.Name = "Charge"
Else
    Sheets("Charge").Show
End If
If ActiveSheet.Name <> ("Décharge") Then
ActiveWorkbooks.Sheets.Add.Name = "Décharge"
End If

L'extrait est très brouilloin, j'ai essayé plusieurs méthodes mais sans succès.

Si quelqu'un se souvient comment on peut faire ce test, cela m'aiderai beaucoup.

Merci.

Bonjour,

un code qui vous permet de créer un onglet et vous prévient si un nom identique est existant

'Création d'un objet Feuille
Private Sub CommandButton1_Click()
Dim Faute As Long
  If Me.TextBox1 = "" Then Exit Sub
  On Error Resume Next
  Sheets(Me.TextBox1.Text).Visible = True
  Faute = Err.Number
  On Error GoTo 0
  If Faute > 0 Then
    Sheets.Add after:=Sheets(Sheets.Count)
    ActiveSheet.Name = Me.TextBox1
  Else
    MsgBox "Feuille existante"
  End If
End Sub

Amicalement

Pierrot

Source : https://www.blog-excel.com/creer-un-champ-de-recherche-vba

Bonjour Pierrot,

J'ai réussi à retrouver un bout de code d'une de mes anciennes macros faites avec l'aide du forum, il suffit juste de penser à quelques petits trucs mais elle est assez intuitive.

Function ExistWorkbookSheet(Wbc, Wsh) As Boolean
         V = Evaluate("ISREF('[" & Wbc & "]" & Wsh & "'!A1)")
         ExistWorkbookSheet = IIf(IsError(V), False, V)
End Function
Wbc = ActiveWorkbook.Name
Wsh = ActiveSheet.Name
If ExistWorkbookSheet(Wbc, "TableauCourbes") = False Then
Workbooks(Wbc).Sheets.Add.Name = "TableauCourbes"
End If

J'ai regardé la votre, la recherche est plutôt sympa, mais j'avoue que je trouvais un peu prise de tête pour vérifier si une feuille existe.

Merci du coup de main.

Rechercher des sujets similaires à "savoir feuille existe"