Bonjour le forum,

Je viens de créer un formulaire nommé UserFormTicket. Ce formulaire utilise un fichier excel dans lequel j'ai des valeurs dans une seule colonne (colonne A).

Je veux lire la dernière ligne de ma colonne et le déposer dans un textbox. Malheureusement à chaque "nouvelle" exécution lors du 1er lancement il ne me ressort aucune valeur, à partir de la deuxième exécution aucun problème. Et je ne vois pas d'où vient mon erreur. Si quelqu'un peut me renseigner....

Ci dessous 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
Sub generer_ticket()
 
    Dim oApp As Object      'permet d'instancier un fichier excel
    Dim workbookExcel As Object     'permet d'instancier un classeur excel
    Dim sheetExcel As Object        'permet d'instancier une feuille excel
    Dim cheminExcel As String
    Dim i As Integer
    Dim dernierTicket As String
    Dim nouveauTicket As String
 
    cheminExcel = "C:\Test\numeroTicket.xls"
'============================================
'===== INSTANCIATION DES OBJETS EXCEL =======
'=====  + OUVERTURE DU FICHIER EXCEL  =======
'============================================
    Set oApp = CreateObject("Excel.Application")
    oApp.Visible = False 'mettre la valeur a true
 
    Set workbookExcel = oApp.workbooks.Open(Path & cheminExcel)
    Set sheetExcel = workbookExcel.Sheets("Feuil1")
 
debut:
 
    i = 1
 
    Do While sheetExcel.Range("A" & i).Value <> ""
        dernierTicket = sheetExcel.Range("A" & i).Value
        i = i + 1
    Loop
 
'    If dernierTicket = "" Then
'            GoTo debut
'    End If
 
 
    nouveauTicket = Right(Left(dernierTicket, 13), 4)
 
    If nouveauTicket = 9999 Then
            nouveauTicket = Left(dernierTicket, 9) & "0001"
    Else
        nouveauTicket = nouveauTicket + 1
        If Len(nouveauTicket) < 4 Then
            nouveauTicket = "0" & nouveauTicket
            Do While Len(nouveauTicket) < 4
                nouveauTicket = "0" & nouveauTicket
            Loop
        End If
        nouveauTicket = Left(dernierTicket, 9) & nouveauTicket
    End If
 
    UserFormTicket.Show
 
    UserFormTicket.TxtNumeroTicket = nouveauTicket
 
    UserFormTicket.CbxAgent.AddItem "", 0
    UserFormTicket.CbxAgent.AddItem "CLE", 1
    UserFormTicket.CbxAgent.AddItem "GDU", 2
    UserFormTicket.CbxAgent.AddItem "MJU", 3
    UserFormTicket.CbxAgent.AddItem "PDE", 4
    UserFormTicket.CbxAgent.AddItem "PKI", 5
 
 
    oApp.workbooks.Close
End Sub
Merci d'avance pour vos réponses.