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

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.
 

tototiti2008

XLDnaute Barbatruc
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
 

Nagrom

XLDnaute Occasionnel
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.
 

fanfan38

XLDnaute Barbatruc
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
 

Discussions similaires

Statistiques des forums

Discussions
312 558
Messages
2 089 598
Membres
104 221
dernier inscrit
legendking85