Bonjour atous ,

j'ai une macro d'ans une userfrorm qui , crée une feuille a apartire des données d'une autre feuille, et dans mon userform , j'ai un "TextBox " qui permetr a l'utilisateur de donnée un nom a la nouvele feuille, et comme la macro récupere les donnée avant de créer la feuille, donc si l'utilisateur ne tape pas le nom de la feuille dans le TextBox , la macro s'éxécute a moitie , et elle m'envoi un message d'erreur, et sa affecte la feuille de la source.

mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub CréerEtat()
Dim Liste, i, NbreColonne
'vérifier si le nom de l'état est bie renseigné
If TextBox1.Text = "" Then
MsgBox "Veuillez saisir le nom de l'état SVP"
End If
 
NomEtat = TextBox1.Text
FL1.Cells.EntireColumn.Hidden = False 'mis en remarque pour tester
Liste = ";"
For i = 0 To Me.ListBox2.ListCount - 1
    Liste = Liste & Me.ListBox2.List(i) & ";"
Next
Application.ScreenUpdating = False
NbreColonne = Range("IV1").End(xlToLeft).Column
    For i = 1 To NbreColonne
        If InStr(Liste, ";" & FL1.Cells(1, i) & ";") = 0 Then
            FL1.Columns(i).EntireColumn.Hidden = True
        End If
    Next
   'FL1.PrintOut
'   Call SupprimerFeuille(Worksheets("EtatSelection"))
    FL1.Select
    FL1.Copy After:=Worksheets("FichierCentral")
    'Sheets("FichierCentral (2)").Select
    Sheets("FichierCentral (2)").Name = NomEtat
    Worksheets(NomEtat).Select
    Call sup_col_vides
    'DoEvents ' laisser les temps pour l'impression
    FL1.Select
    FL1.Cells.EntireColumn.Hidden = False
    FL1.Cells.EntireColumn.Hidden = False
End Sub
je voudrais que au lancement de la macro , faire un teste
si le nom de la feuille est renseigné ==> éxécuter la macro
si le texteBox est vide l'envoi d'un message à l'utilisateur pour tapez le nom , mais surtout il faut pas éxécuter la macro .

je ne sais pas comme le faire mais je crois que c'est facile

merci de votre aide