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

Vérification de l'existance d'une feuille par UserForm

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

Nagrom

XLDnaute Occasionnel
Bonjour à tous,

J'ai fais une UserForm avec une liste déroulante donc l'action du bouton est la suivante:

Code:
ate Sub CommandButton1_Click()
 
If Sheets.Name = ComboBox1.Value Then
    
    MsgBox "L'onglet existe déjà!", , "Info"
    Else:

   Sheets("Ref").Visible = True
   Sheets("Ref").Select
   Sheets("Ref").Copy After:=Sheets(Sheets.Count)
   
With Sheets("Ref (2)")
Cells(3, 4) = ComboBox1.Value
End With
 
    Sheets("Ref").Select
    ActiveWindow.SelectedSheets.Visible = False

Unload UserForm

End If

End Sub

Le code ne fonctionne pas, j'ai fais plusieurs modifications dont une que je croyais la bonne, m'indiqué systématiquement que la feuille existait même quand c'était faux.

Des suggestions?

Merci.
 
Re : Vérification de l'existance d'une feuille par UserForm

Bonjour Nagrom,

pas trés clair... ce qui est sûr c'est que :
If Sheets.Name = ComboBox1.Value Then
ne peut pas fonctionner... on ne peut pas comparer le nom de toutes les feuilles à une valeur.
regarde en bas de ce fil, dans "Discussions similaires", plusieurs fils pour vérifier l'existence d'une feuille
 
Re : Vérification de l'existance d'une feuille par UserForm

J'ai regardé quelques postes et j'ai trouvé ceci:

Code:
For i = 1 To ThisWorkbook.Worksheets.Count
    If ThisWorkbook.Worksheets(i).Name = ComboBox1.Value Then
        MsgBox "La feuille existe!"
                 
    End If
Next i

Par contre, je vois pas comment insérer cette partie du code qui doit être éxecutée si au final la feuille n'existe pas:

Code:
Sheets("Ref").Visible = True
        Sheets("Ref").Select
        Sheets("Ref").Copy After:=Sheets(Sheets.Count)
   
        With Sheets("Ref (2)")
        Cells(3, 4) = ComboBox1.Value
        End With
 
        Sheets("Ref").Select
        ActiveWindow.SelectedSheets.Visible = False

        Unload Fiche_Synthèse

Merci de vos explications.
 
Re : Vérification de l'existance d'une feuille par UserForm

Bonsoir
Avec ce code là ça devrait être mieux:
Private Sub CommandButton1_Click()
For i = 1 To Sheets.Count
If Sheets(i).Name = ComboBox1.Value Then
MsgBox "L'onglet existe déjà!", , "Info"
Exit Sub
End If
Next
Sheets("Ref").Visible = True
Sheets("Ref").Select
Sheets("Ref").Copy After:=Sheets(Sheets.Count)
With Sheets("Ref (2)")
Cells(3, 4) = ComboBox1.Value
End With
Sheets("Ref").Select
ActiveWindow.SelectedSheets.Visible = False
Unload UserForm1
End Sub

A+ François
 
- 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

Discussions similaires

Réponses
9
Affichages
389
Réponses
3
Affichages
662
Réponses
3
Affichages
924
Réponses
2
Affichages
589
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…