Erreur 1004

Résolu
Bonjour tout le monde!!

J'ai ce code :

Sub UserForm_Initialize()
Dim i As Range

With Sheets("Materiel Roulant")  
    Set i = .Range("B2:AA2")
End With

ComboBox1.List = Application.Transpose(i.Value)
    
End Sub

Qui fonctionne très bien mais quand je veux le modifier car ma plage peut varier cela me renvoie une erreur 1004 et je ne sais pas d'où cela peut provenir, je pense avoir bien déclaré mes variables mais bon il doit y avoir quelque chose que j'ai mal fait quand même.
Voici comment je l'ai modifié :
Sub UserForm_Initialize()  
Dim i As Range
Dim dercol As Integer

dercol = Cells(2, Cells.Columns.Count).End(xlToLeft).Column

With Sheets("Materiel Roulant") 
    Set i = .Range(Cells(2, 2), Cells(2, dercol))
End With

ComboBox1.List = Application.Transpose(i.Value)
    
End Sub


Si quelqu'un sait d'où peut provenir mon erreur, je suis preneur.
Merci beaucoup !

Feudora

1 réponse

  1. Modérateur
    Bonjour,

    Sub UserForm_Initialize()
    Dim i As Range
    Dim dercol As Integer
    
    
    With Sheets("Materiel Roulant")
      dercol = .Cells(2, Cells.Columns.Count).End(xlToLeft).Column
      Set i = .Range(.Cells(2, 2), .Cells(2, dercol))
    End With
    
    ComboBox1.List = Application.Transpose(i.Value)
        
    End Sub
    

    1. Super! C'etait ca j'avais bien mal placé ma ligne de dercol !!
      Merci beaucoup