Bonjour à tous,

Le code ci-dessous me permet de créer une feuille de calcul dans un fichier lorsque le numéro afficher dans une Combo n'existe pas et d'y insérer des éléments saisis. Par contre, si la feuille existe, seules les données sont saisies dans la feuille correspondante.

Cependant, je rencontre un problème, lorsque la Combo est vide, j'ai un message d'erreur sur la ligne en gras, ce qui est normal puisque dans mon cas il est censé y avoir un numéro dans la combo (CmbMarche) qui correspond à NumLign du code.

Donc, comment ajouter un boût de code qui lorsque la combo est vide, n'ouvre pas le fichier et ne créé pas la feuille.

Merci par avance

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
If Dir(stFichComp) = "" Then                                     'Si le fichier Récap prest.xls n'existe pas, on le crée
    Workbooks.Add (1)
    NewRech = True
    Set wbkBatiprix = ActiveWorkbook                                   'On nomme la première feuille
    Set shtBati = wbkBatiprix.ActiveSheet
        shtBati.Name = NumLign
        wbkBatiprix.SaveAs Filename:=stFichComp
Else
    Set wbkBatiprix = Workbooks.Open(stFichComp)                    'Si le fichier Récap prest.xls existe
        Existe = False
    For Each wst In Worksheets
            If wst.Name = NumLign Then                              'On cherche si la feuille Lx, avec x=n° ligne existe
            Set shtBati = wst
            Existe = True
            Exit For
        End If
    Next wst
    If Not Existe Then
        Set shtBati = wbkBatiprix.Sheets.Add(Type:=xlWorksheet)       'Sinon on ajoute une nouvelle feuille nommée Lx
        shtBati.Name = NumLign
        NewRech = True
    End If
End If