Formulaire lecture fichier Excel
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:
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.