Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur 13 : incompatibilité de type

16 réponses
Avatar
Linebaker
Bonjour à vous tous,

Dans le code qui suit, j'ai une erreur que je ne sais comment corriger.
Est-ce que quelqu'un peut m'aider ?

Option Explicit
Option Compare Text
Private TabPlage As Variant


Private Sub UserForm_Initialize()
Dim i As Integer
Dim ColBase1 As New Collection
Dim Item As Variant
Dim X As Byte

For X = 1 To 3
Me.Controls("ComboBox" & X).Style = fmStyleDropDownList
Next

With Sheets("Feuil1")
TabPlage = .Range("A2:C" & .Range("A65536").End(xlUp).Row)
End With

On Error Resume Next
For i = 1 To UBound(TabPlage)
ColBase1.Add TabPlage(i, 1), TabPlage(i, 1)
Next
On Error GoTo 0

For Each Item In ColBase1
Me.ComboBox1.AddItem Item
Next

End Sub

Private Sub ComboBox1_Change()
ComboBoxing 2
End Sub


Private Sub ComboBox2_Change()
ComboBoxing 3
End Sub


Private Sub ComboBox3_Change()
Dim L As Integer
Dim tabtemp As Variant

With Worksheets("Feuil1")
L = .Range("a15000").End(xlUp).Row
tabtemp = .Range("A2:K" & L).Value
End With

For L = 1 To UBound(tabtemp, 1) 'l'erreur 13 se trouve ici
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub


Private Sub ComboBoxing(Num As Byte)
Dim i As Integer
Dim ColBaseX As New Collection
Dim Item As Variant
Dim X As Byte

For X = Num To 3
Me.Controls("ComboBox" & X).Clear
Next

On Error Resume Next
For i = 1 To UBound(TabPlage)
If CStr(TabPlage(i, Num - 1)) = CStr(Me.Controls("ComboBox" & Num -
1)) Then
ColBaseX.Add TabPlage(i, Num), CStr(TabPlage(i, Num))
End If
Next
On Error GoTo 0

For Each Item In ColBaseX
Me.Controls("ComboBox" & Num).AddItem Item
Next
End Sub

Merci

10 réponses

1 2
Avatar
LSteph
Bonsoir LineBaker,
Où, l'erreur? et quid comboboxing2 ...3

peut-être pour la clé de ta collection essaie en texte:

ColBase1.Add TabPlage(i, 1), Cstr(TabPlage(i, 1))

a+
lSteph


"Linebaker" a écrit dans le message de news:
BqtKe.77784$
Bonjour à vous tous,

Dans le code qui suit, j'ai une erreur que je ne sais comment corriger.
Est-ce que quelqu'un peut m'aider ?

Option Explicit
Option Compare Text
Private TabPlage As Variant


Private Sub UserForm_Initialize()
Dim i As Integer
Dim ColBase1 As New Collection
Dim Item As Variant
Dim X As Byte

For X = 1 To 3
Me.Controls("ComboBox" & X).Style = fmStyleDropDownList
Next

With Sheets("Feuil1")
TabPlage = .Range("A2:C" & .Range("A65536").End(xlUp).Row)
End With

On Error Resume Next
For i = 1 To UBound(TabPlage)
ColBase1.Add TabPlage(i, 1), TabPlage(i, 1)
Next
On Error GoTo 0

For Each Item In ColBase1
Me.ComboBox1.AddItem Item
Next

End Sub

Private Sub ComboBox1_Change()
ComboBoxing 2
End Sub


Private Sub ComboBox2_Change()
ComboBoxing 3
End Sub


Private Sub ComboBox3_Change()
Dim L As Integer
Dim tabtemp As Variant

With Worksheets("Feuil1")
L = .Range("a15000").End(xlUp).Row
tabtemp = .Range("A2:K" & L).Value
End With

For L = 1 To UBound(tabtemp, 1) 'l'erreur 13 se trouve ici
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub


Private Sub ComboBoxing(Num As Byte)
Dim i As Integer
Dim ColBaseX As New Collection
Dim Item As Variant
Dim X As Byte

For X = Num To 3
Me.Controls("ComboBox" & X).Clear
Next

On Error Resume Next
For i = 1 To UBound(TabPlage)
If CStr(TabPlage(i, Num - 1)) = CStr(Me.Controls("ComboBox" & Num -
1)) Then
ColBaseX.Add TabPlage(i, Num), CStr(TabPlage(i, Num))
End If
Next
On Error GoTo 0

For Each Item In ColBaseX
Me.Controls("ComboBox" & Num).AddItem Item
Next
End Sub

Merci



Avatar
MPi
Salut,

Premièrement, les boucles concernant ton tableau devraient commencer à 0
pour tout inclure.

Évite aussi de mettre des On Error Resume Next, à moins d'être certaine de
ce qui se passe.

Pour ton problème, l'erreur 13 survient en général lorsqu'il y a
incompatibilité de type entre 2 variables ou entre une valeur et l'endroit
où tu veux la mettre (ex: mettre une String dans un Integer)

Pour faciliter la recherche de l'erreur, place au début de chaque procédure
louche
On Error Goto Erreur
Et à la fin avant le End Sub, tu mets
Exit Sub
Erreur:
Stop
Resume

En roulant le programme, l'erreur sera rencontrée et le programme arrêtera
sur le STOP.
À ce moment, tu fais F8 2 fois (pas à pas) et tu pourras cibler la ligne
qui fait défaut.
Si tu passes la souris au-dessus des variables (ou valeur de Range) qui sont
sur cette ligne, tu devrais pouvoir trouver l'erreur et essayer de la
contrer.

Une fois le problème réglé, tu pourra mettre en commentaire ou effacer les
STOP et RESUME

Michel

"Linebaker" a écrit dans le message de
news:BqtKe.77784$
Bonjour à vous tous,

Dans le code qui suit, j'ai une erreur que je ne sais comment corriger.
Est-ce que quelqu'un peut m'aider ?

Option Explicit
Option Compare Text
Private TabPlage As Variant


Private Sub UserForm_Initialize()
Dim i As Integer
Dim ColBase1 As New Collection
Dim Item As Variant
Dim X As Byte

For X = 1 To 3
Me.Controls("ComboBox" & X).Style = fmStyleDropDownList
Next

With Sheets("Feuil1")
TabPlage = .Range("A2:C" & .Range("A65536").End(xlUp).Row)
End With

On Error Resume Next
For i = 1 To UBound(TabPlage)
ColBase1.Add TabPlage(i, 1), TabPlage(i, 1)
Next
On Error GoTo 0

For Each Item In ColBase1
Me.ComboBox1.AddItem Item
Next

End Sub

Private Sub ComboBox1_Change()
ComboBoxing 2
End Sub


Private Sub ComboBox2_Change()
ComboBoxing 3
End Sub


Private Sub ComboBox3_Change()
Dim L As Integer
Dim tabtemp As Variant

With Worksheets("Feuil1")
L = .Range("a15000").End(xlUp).Row
tabtemp = .Range("A2:K" & L).Value
End With

For L = 1 To UBound(tabtemp, 1) 'l'erreur 13 se trouve ici
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub


Private Sub ComboBoxing(Num As Byte)
Dim i As Integer
Dim ColBaseX As New Collection
Dim Item As Variant
Dim X As Byte

For X = Num To 3
Me.Controls("ComboBox" & X).Clear
Next

On Error Resume Next
For i = 1 To UBound(TabPlage)
If CStr(TabPlage(i, Num - 1)) = CStr(Me.Controls("ComboBox" &
Num -

1)) Then
ColBaseX.Add TabPlage(i, Num), CStr(TabPlage(i, Num))
End If
Next
On Error GoTo 0

For Each Item In ColBaseX
Me.Controls("ComboBox" & Num).AddItem Item
Next
End Sub

Merci




Avatar
LSteph
Bonsoir MPI,
.. le on error resume next tel qu'utilisé ici
permet par boucle sur un ensemble d'éléments ajoutés à une collection
de passer au suivant quand on renncontre un doublon.
En clair d'établir une liste sans doublons.

A+

lSteph

"MPi" a écrit dans le message de news:
QtuKe.77802$
Salut,

Premièrement, les boucles concernant ton tableau devraient commencer à 0
pour tout inclure.

Évite aussi de mettre des On Error Resume Next, à moins d'être certaine de
ce qui se passe.

Pour ton problème, l'erreur 13 survient en général lorsqu'il y a
incompatibilité de type entre 2 variables ou entre une valeur et l'endroit
où tu veux la mettre (ex: mettre une String dans un Integer)

Pour faciliter la recherche de l'erreur, place au début de chaque
procédure
louche
On Error Goto Erreur
Et à la fin avant le End Sub, tu mets
Exit Sub
Erreur:
Stop
Resume

En roulant le programme, l'erreur sera rencontrée et le programme arrêtera
sur le STOP.
À ce moment, tu fais F8 2 fois (pas à pas) et tu pourras cibler la ligne
qui fait défaut.
Si tu passes la souris au-dessus des variables (ou valeur de Range) qui
sont
sur cette ligne, tu devrais pouvoir trouver l'erreur et essayer de la
contrer.

Une fois le problème réglé, tu pourra mettre en commentaire ou effacer les
STOP et RESUME

Michel

"Linebaker" a écrit dans le message de
news:BqtKe.77784$
Bonjour à vous tous,

Dans le code qui suit, j'ai une erreur que je ne sais comment corriger.
Est-ce que quelqu'un peut m'aider ?

Option Explicit
Option Compare Text
Private TabPlage As Variant


Private Sub UserForm_Initialize()
Dim i As Integer
Dim ColBase1 As New Collection
Dim Item As Variant
Dim X As Byte

For X = 1 To 3
Me.Controls("ComboBox" & X).Style = fmStyleDropDownList
Next

With Sheets("Feuil1")
TabPlage = .Range("A2:C" & .Range("A65536").End(xlUp).Row)
End With

On Error Resume Next
For i = 1 To UBound(TabPlage)
ColBase1.Add TabPlage(i, 1), TabPlage(i, 1)
Next
On Error GoTo 0

For Each Item In ColBase1
Me.ComboBox1.AddItem Item
Next

End Sub

Private Sub ComboBox1_Change()
ComboBoxing 2
End Sub


Private Sub ComboBox2_Change()
ComboBoxing 3
End Sub


Private Sub ComboBox3_Change()
Dim L As Integer
Dim tabtemp As Variant

With Worksheets("Feuil1")
L = .Range("a15000").End(xlUp).Row
tabtemp = .Range("A2:K" & L).Value
End With

For L = 1 To UBound(tabtemp, 1) 'l'erreur 13 se trouve ici
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub


Private Sub ComboBoxing(Num As Byte)
Dim i As Integer
Dim ColBaseX As New Collection
Dim Item As Variant
Dim X As Byte

For X = Num To 3
Me.Controls("ComboBox" & X).Clear
Next

On Error Resume Next
For i = 1 To UBound(TabPlage)
If CStr(TabPlage(i, Num - 1)) = CStr(Me.Controls("ComboBox" &
Num -

1)) Then
ColBaseX.Add TabPlage(i, Num), CStr(TabPlage(i, Num))
End If
Next
On Error GoTo 0

For Each Item In ColBaseX
Me.Controls("ComboBox" & Num).AddItem Item
Next
End Sub

Merci








Avatar
Linebaker
Bonjour LSteph et MPi,

MPi, pourtant ma variable L as Integer se retrouve seulement dans une
boucle.

Tel qu'indiqué l'erreur 13 se trouve dans cette boucle :

For L = 1 To UBound(tabtemp, 1) 'L'ERREUR 13 EST ICI
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub

LSteph, j'ai remplacé la ligne de code ColBase1.Add TabPlage(i, 1),
Cstr(TabPlage(i, 1))
tel que suggéré. Résultat : c'est la colonne A qui se retrouve dans les 3
combobox.

Merci
Avatar
LSteph
Effectivement , j'avais zappé le commentaire ....
Ubound renvoie un Long alors que tu as définit L comme Integer..
essaie L as Long

a+

lSteph


"Linebaker" a écrit dans le message de news:
BqtKe.77784$
Bonjour à vous tous,

Dans le code qui suit, j'ai une erreur que je ne sais comment corriger.
Est-ce que quelqu'un peut m'aider ?

Option Explicit
Option Compare Text
Private TabPlage As Variant


Private Sub UserForm_Initialize()
Dim i As Integer
Dim ColBase1 As New Collection
Dim Item As Variant
Dim X As Byte

For X = 1 To 3
Me.Controls("ComboBox" & X).Style = fmStyleDropDownList
Next

With Sheets("Feuil1")
TabPlage = .Range("A2:C" & .Range("A65536").End(xlUp).Row)
End With

On Error Resume Next
For i = 1 To UBound(TabPlage)
ColBase1.Add TabPlage(i, 1), TabPlage(i, 1)
Next
On Error GoTo 0

For Each Item In ColBase1
Me.ComboBox1.AddItem Item
Next

End Sub

Private Sub ComboBox1_Change()
ComboBoxing 2
End Sub


Private Sub ComboBox2_Change()
ComboBoxing 3
End Sub


Private Sub ComboBox3_Change()
Dim L As Integer
Dim tabtemp As Variant

With Worksheets("Feuil1")
L = .Range("a15000").End(xlUp).Row
tabtemp = .Range("A2:K" & L).Value
End With

For L = 1 To UBound(tabtemp, 1) 'l'erreur 13 se trouve ici
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub


Private Sub ComboBoxing(Num As Byte)
Dim i As Integer
Dim ColBaseX As New Collection
Dim Item As Variant
Dim X As Byte

For X = Num To 3
Me.Controls("ComboBox" & X).Clear
Next

On Error Resume Next
For i = 1 To UBound(TabPlage)
If CStr(TabPlage(i, Num - 1)) = CStr(Me.Controls("ComboBox" & Num -
1)) Then
ColBaseX.Add TabPlage(i, Num), CStr(TabPlage(i, Num))
End If
Next
On Error GoTo 0

For Each Item In ColBaseX
Me.Controls("ComboBox" & Num).AddItem Item
Next
End Sub

Merci



Avatar
MPi
Tu pourrais tout de même faire le test de mon Stop/Resume et tu verrais
probablement où est cette erreur.
Lorsque l'erreur survient, tu peux voir la valeur de tabTemp(L) (dans la
fenêtre Espion, si nécessaire) et voir s'il n'y a pas un pépin quelconque,
comme un #N/A ou une cellule ne contient pas un nombre, mais du texte, ou
autre connerie du genre...

En ayant la valeur de L, tu peux rechercher la ligne qui cause problème.

Michel

"Linebaker" a écrit dans le message de
news:ZKuKe.31481$
Bonjour LSteph et MPi,

MPi, pourtant ma variable L as Integer se retrouve seulement dans une
boucle.

Tel qu'indiqué l'erreur 13 se trouve dans cette boucle :

For L = 1 To UBound(tabtemp, 1) 'L'ERREUR 13 EST ICI
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub

LSteph, j'ai remplacé la ligne de code ColBase1.Add TabPlage(i, 1),
Cstr(TabPlage(i, 1))
tel que suggéré. Résultat : c'est la colonne A qui se retrouve dans les 3
combobox.

Merci




Avatar
LSteph
..regarde ausi là,
tabtemp = .Range("A2:K" & L).Value




pourquoi un .value sur une plage

Bonne nuit

lSteph




"LSteph" a écrit dans le message de news:
%
Effectivement , j'avais zappé le commentaire ....
Ubound renvoie un Long alors que tu as définit L comme Integer..
essaie L as Long

a+

lSteph


"Linebaker" a écrit dans le message de news:
BqtKe.77784$
Bonjour à vous tous,

Dans le code qui suit, j'ai une erreur que je ne sais comment corriger.
Est-ce que quelqu'un peut m'aider ?

Option Explicit
Option Compare Text
Private TabPlage As Variant


Private Sub UserForm_Initialize()
Dim i As Integer
Dim ColBase1 As New Collection
Dim Item As Variant
Dim X As Byte

For X = 1 To 3
Me.Controls("ComboBox" & X).Style = fmStyleDropDownList
Next

With Sheets("Feuil1")
TabPlage = .Range("A2:C" & .Range("A65536").End(xlUp).Row)
End With

On Error Resume Next
For i = 1 To UBound(TabPlage)
ColBase1.Add TabPlage(i, 1), TabPlage(i, 1)
Next
On Error GoTo 0

For Each Item In ColBase1
Me.ComboBox1.AddItem Item
Next

End Sub

Private Sub ComboBox1_Change()
ComboBoxing 2
End Sub


Private Sub ComboBox2_Change()
ComboBoxing 3
End Sub


Private Sub ComboBox3_Change()
Dim L As Integer
Dim tabtemp As Variant

With Worksheets("Feuil1")
L = .Range("a15000").End(xlUp).Row
tabtemp = .Range("A2:K" & L).Value
End With

For L = 1 To UBound(tabtemp, 1) 'l'erreur 13 se trouve ici
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub


Private Sub ComboBoxing(Num As Byte)
Dim i As Integer
Dim ColBaseX As New Collection
Dim Item As Variant
Dim X As Byte

For X = Num To 3
Me.Controls("ComboBox" & X).Clear
Next

On Error Resume Next
For i = 1 To UBound(TabPlage)
If CStr(TabPlage(i, Num - 1)) = CStr(Me.Controls("ComboBox" &
Num - 1)) Then
ColBaseX.Add TabPlage(i, Num), CStr(TabPlage(i, Num))
End If
Next
On Error GoTo 0

For Each Item In ColBaseX
Me.Controls("ComboBox" & Num).AddItem Item
Next
End Sub

Merci







Avatar
Linebaker
Bonsoir Michel,

Avant de faire ma demande sur le groupe, j'avais déjà fait le pas à pas pour
trouver l'erreur. J'ai tout de même fait ce que tu m'as dit et je n'ai pas
plus d'information à donner que mon précédent message à savoir l'endroit de
l'erreur qui se trouve à la ligne suivante : For L = 1 To UBound(tabtemp,
1).

Merci de m'aider
Avatar
michdenis
Bonjour LineBaker,

Quel est ta version d'excel. Sous excel 2003, ton code est bon.

Il doit y avoir un problème entre la déclaration de ta variable. J'ai souvenir qu'excel se comporte différemment selon les versions
dans les déclarations des tableaux ou des variables "as variant"
Dim tabtemp As Variant

et cette ligne de code juste au dessus ...
tabtemp = .Range("A2:K" & L).Value

Essaie ta procédure mais sans définir le type à ta Variable , en utilisant ces 2 lignes de code. As-tu toujours un message d'erreur
?

Dim tabtemp
tabtemp = .Range("A2:K" & L)


Salutations




"Linebaker" a écrit dans le message de news: BqtKe.77784$
Bonjour à vous tous,

Dans le code qui suit, j'ai une erreur que je ne sais comment corriger.
Est-ce que quelqu'un peut m'aider ?

Option Explicit
Option Compare Text
Private TabPlage As Variant


Private Sub UserForm_Initialize()
Dim i As Integer
Dim ColBase1 As New Collection
Dim Item As Variant
Dim X As Byte

For X = 1 To 3
Me.Controls("ComboBox" & X).Style = fmStyleDropDownList
Next

With Sheets("Feuil1")
TabPlage = .Range("A2:C" & .Range("A65536").End(xlUp).Row)
End With

On Error Resume Next
For i = 1 To UBound(TabPlage)
ColBase1.Add TabPlage(i, 1), TabPlage(i, 1)
Next
On Error GoTo 0

For Each Item In ColBase1
Me.ComboBox1.AddItem Item
Next

End Sub

Private Sub ComboBox1_Change()
ComboBoxing 2
End Sub


Private Sub ComboBox2_Change()
ComboBoxing 3
End Sub


Private Sub ComboBox3_Change()
Dim L As Integer
Dim tabtemp As Variant

With Worksheets("Feuil1")
L = .Range("a15000").End(xlUp).Row
tabtemp = .Range("A2:K" & L).Value
End With

For L = 1 To UBound(tabtemp, 1) 'l'erreur 13 se trouve ici
If tabtemp(L, 1) = CLng(ComboBox3.Value) Then
ListBox1.AddItem tabtemp(L, 1)
ListBox2.AddItem tabtemp(L, 2)
ListBox3.AddItem tabtemp(L, 3)
ListBox4.AddItem tabtemp(L, 4)
ListBox5.AddItem tabtemp(L, 8)
ListBox6.AddItem tabtemp(L, 6)
ListBox7.AddItem tabtemp(L, 7)
ListBox8.AddItem tabtemp(L, 5)
End If
Next L

End Sub


Private Sub ComboBoxing(Num As Byte)
Dim i As Integer
Dim ColBaseX As New Collection
Dim Item As Variant
Dim X As Byte

For X = Num To 3
Me.Controls("ComboBox" & X).Clear
Next

On Error Resume Next
For i = 1 To UBound(TabPlage)
If CStr(TabPlage(i, Num - 1)) = CStr(Me.Controls("ComboBox" & Num -
1)) Then
ColBaseX.Add TabPlage(i, Num), CStr(TabPlage(i, Num))
End If
Next
On Error GoTo 0

For Each Item In ColBaseX
Me.Controls("ComboBox" & Num).AddItem Item
Next
End Sub

Merci
Avatar
MPi
Et quelle est la valeur de L quand tu arrives sur l'erreur ?
La seule chose à laquelle je pense, c'est qu'il y a une valeur dans le
tableau, donc sur une certaine ligne de la grille, qui fait défaut.

Le problème, comme je le vois, est que tu remplis un tableau... jusque là ça
va... enfin j'imagine puisque je ne procède pas de cette façon.
Ensuite tu veux faire une comparaison avec CLng(Combobox.Text)
Donc, l'erreur est soit le texte de Combobox qui ne peut pas être transféré
en LONG ou la valeur du tableau qui réfère à une ligne qui, elle,
contiendrait quelque chose qui bogue .....

Mais bon, ma journée aussi a été assez ardue.... ¦¬)

Michel

"Linebaker" a écrit dans le message de
news:ZvvKe.31853$
Bonsoir Michel,

Avant de faire ma demande sur le groupe, j'avais déjà fait le pas à pas
pour

trouver l'erreur. J'ai tout de même fait ce que tu m'as dit et je n'ai pas
plus d'information à donner que mon précédent message à savoir l'endroit
de

l'erreur qui se trouve à la ligne suivante : For L = 1 To UBound(tabtemp,
1).

Merci de m'aider




1 2