Correction du code

Bonjour,

Y'a t-il une âme charitable qui voudrait bien jeter un œil à mon code je vous prie.

Mon userform ne s'affiche plus et m'affiche l'erreur suivante :

"Erreur d'exécution 1004 : Erreur définie par l'application ou par l'objet"

Débutant sur Excel VBA, je ne vois pas d'où ça peut provenir.

Mon code :

Private Sub UserForm_Initialize()

    Set wb = Application.Workbooks.Open("E:\ProjetZ.xlsx")
    Set ws = wb.Worksheets(1)

    ' Initialisation de la variable
    Dim nlign As Integer
    nlign = 4

    ' Liste Puissance
    Do While Cells(nblign, 2) <> ""
        cboPuissance.AddItem Cells(nblign, 2).Value & " kVA"
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Liste Nature
    Do While Cells(nblign, 3).Value <> ""
        cboNature.AddItem Cells(nblign, 3).Value
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Liste Nb Sources
    Do While Cells(nblign, 4).Value <> ""
        lboNbSourcesmin.AddItem Cells(nblign, 4).Value & " min"
        nblign = nblign + 1
    Loop
    nblign = 4

    Do While Cells(nblign, 4).Value <> ""
        lboNbSourcesmax.AddItem Cells(nblign, 4).Value & " min"
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Ukr
    If cboNature.Value = ws.Range("C4") Then
        If cboPuissance.Value = ws.Range("B5:B13").Value Then
            tboUkr.Value = "4%"
        ElseIf cboPuissance.Value = ws.Range("B14:B19") Then
            tboUkr.Value = "6%"
        Else
        End If
    End If

    ' Liste Norme
    Do While Cells(nblign, 6).Value <> ""
        cboNorme.AddItem Cells(nblign, 6).Value
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Liste Fréquence
     Do While Cells(nblign, 7).Value <> ""
        cboFrequence.AddItem Cells(nblign, 7).Value & " Hz"
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Liste Regime N
    Do While Cells(nblign, 8).Value <> ""
        cboRegimeN.AddItem Cells(nblign, 8).Value
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Liste Polarité
    Do While Cells(nblign, 9).Value <> ""
        cboPolarite.AddItem Cells(nblign, 9).Value
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Tension BT
    Do While Cells(nblign, 10).Value <> ""
        cboTensionBT.AddItem Cells(nblign, 10).Value & " V"
        nblign = nblign + 1
    Loop
    nblign = 4

    If Not cboTensionBT.Value = "" Then
        tboTensionBT.Value = Cells(cboTensionBT.ListIndex, 11) & " V"
    End If

    ' Type Liaison
    Do While Cells(nblign, 12).Value <> ""
        cboType.AddItem Cells(nblign, 12).Value
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Longueur câble
    tboLongueur.Value = ""

    ' Liste Âme Câble
    Do While Cells(nblign, 14).Value <> ""
        cboAme.AddItem Cells(nblign, 14).Value
        nblign = nblign + 1
    Loop
    nblign = 4

    ' Liste Catégorie Câble
    Do While Cells(nblign, 15).Value <> ""
        cboCategorie.AddItem Cells(nblign, 15).Value
        nblign = nblign + 1
    Loop

    ' Intensité (cas où la nature de la source est : BT par ICC)
    tboIntensite.Value = ""

    ActiveWorkbook.Close

    Set ws = Nothing

End Sub

Bonsoir,

Mets un point d'arrêt (F9) sur ta première ligne

Et ensuite tu exécutes ton code en pas à pas (F8)

Comme ça tu pourras voir d'où vient ton erreur

Rechercher des sujets similaires à "correction code"