Bonjour. Je pense que ce problème est assez simple mais bon je n'arrive pas à m'en sortir.
Je crois voir d'où vient le pb mais je n'ai jamais fait de VBA et là j'ai un petit bug à résoudre ...
En fait l'erreur se produit quand sur une variable de type Range est effectée une valeur exclusivement numérique.
Voilà mon code (épuré) :
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 Sub UpdateComboBox() ThisWorkbook.Worksheets("setting").Select Dim unItem, unCA As Range PROGRAM_LIST.Clear CA_LIST.Clear If ThisWorkbook.Worksheets("setting").Range("A13") <> "" Then Dim previousProgram As String previousProgram = "" For Each unItem In ThisWorkbook.Worksheets("setting").Range("A13", Range("A13").End(xlDown)) If unItem <> previousProgram Then previousProgram = unItem PROGRAM_LIST.AddItem (unItem) End If If ThisWorkbook.Worksheets("setting").Range("A4") <> "" Then PROGRAM_LIST.Text = ThisWorkbook.Worksheets("setting").Range("A4") If unItem = ThisWorkbook.Worksheets("setting").Range("A4") Then Set unCA = unItem.Offset(0, 1) // ici If Not unCA Is Nothing Then // je n'entre pas là si la valeur est numérique If ThisWorkbook.Worksheets("setting").Range("B4") = "x" Then ThisWorkbook.Worksheets("setting").Range("B4") = unCA ThisWorkbook.Worksheets("setting").Range("B2") = unCA.Offset(0, 1) data_PM.RapportPath = ThisWorkbook.Worksheets("setting").Range("B2") End If MsgBox "CA ajoute liste -> " + unCA //pas affiché si numérique CA_LIST.AddItem unCA End If If ThisWorkbook.Worksheets("setting").Range("B4") <> "" Then CA_LIST.Text = ThisWorkbook.Worksheets("setting").Range("B4") End If End If End If Next End If
Donc voilà, je suis un peu bloqué. Quel type utiliser ? Je peux caster en VBA ?
merci d'avance
Partager