Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Insérer feuille

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

E

Excelced

Guest
Bonjour,

j'essaie d'insérer une feuille que je renomme
Si elle existe déjà, je veux la supprimer et la recréer.
mais ça bug et je ne trouve pas où...
 

Pièces jointes

Re : Insérer feuille

Bonjour Excelced, bonjour le forum,

Tu as mis la variable NomFeuille entre guillemets :
Code:
Worksheets("NomFeuille").Delete
Essaie comme ça :
Code:
Worksheets(NomFeuille).Delete

ton code modifié et simplifié :
Code:
Sub inserer_feuille()
'
' inserer une nouvelle feuille et la renomer
Dim NomFeuille As String
Dim Sh As Variant
Dim feuilleExiste As Boolean
NomFeuille = Sheets("Controle").Range("D1")
For Each Sh In Worksheets
    If Sh.Name = NomFeuille Then
        MsgBox "la feuille " & Sh.Name & " existe"
        If MsgBox("Voulez vous recréer cette feuille ? Les données seront perdues.", vbOKCancel, "Attention") = vbOK Then
            Application.DisplayAlerts = False
            Worksheets(NomFeuille).Delete
            Application.DisplayAlerts = True
        Else
            MsgBox ("ok")
            Exit Sub
        End If
        Exit For
    End If
Next
Sheets.Add.Move After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = NomFeuille
End Sub
 
Dernière édition:
Re : Insérer feuille

j'ai fais la modif, ça ne fonctionne toujours pas, il me crée une nouvelle feuille en plus de la feuille test
j'ai une erreur 1004 définie par l'application ou par l'objet
ça signifie quoi cette erreur au juste ?
 
Re : Insérer feuille

Salut Excelced, Robert 🙂, le Forum

Test cette macro et effectivement les guillemets sont de trop

Code:
Sub inserer_feuille()
'
' inserer une nouvelle feuille et la renomer

    Dim NomFeuille As String, Sh As Variant, feuilleExiste As Boolean, NewFeuille As String
    
    NomFeuille = Sheets("Controle").Range("D1")

    For Each Sh In Worksheets
        If Sh.Name = NomFeuille Then
            MsgBox "la feuille " & Sh.Name & " existe"
            feuilleExiste = True
        End If
    Next
        If feuilleExiste = True Then
        NewFeuille = MsgBox("Voulez vous recréer cette feuille ? Les données deront perdues.", vbOKCancel + vbCritical, "Attention")
        If NewFeuille = vbCancel Then Exit Sub
            If NewFeuille = vbOK Then
                Application.DisplayAlerts = False
                    Sheets(NomFeuille).Delete
                    Sheets.Add.Move After:=Sheets(Sheets.Count)
                    Sheets(Sheets.Count).Name = NomFeuille
                Application.DisplayAlerts = True
            End If
        End If
            If feuilleExiste = False Then
                Sheets.Add.Move After:=Sheets(Sheets.Count)
                Sheets(Sheets.Count).Name = NomFeuille
            End If
End Sub
Bonne Journée
 
Dernière édition:
Re : Insérer feuille

Bonjour Excelced, Dull, bonjour le forum,

Cela permet d'activer/désactiver les messages d'excel. par exemple, en cas de suppression d'un onglet, Excel affiche toujours une message de ce type : Les feuilles sélectionnées peuvent contenir des données. Pour supprimer définitivement les données, cliquez sur Supprimer...
Le fait de dire Application.DisplayAlerts = False évite le message mais il faut bien sûr penser à remêtre la valeur à True après.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
187
Réponses
1
Affichages
110
Réponses
15
Affichages
465
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…