Erreur 2015 avec un combobox

Cydor007

XLDnaute Occasionnel
Bonjour à tous,

Quand j'utilise ma fenêtre (combobox) je n'obtiens aucune liste déroulante et un erreur d'incompatibilité apparaît.

Voici le code:

Private Sub ComboBox1_Change()
[J10] = ComboBox1
End Sub
Private Sub ComboBox1_DropButtonClick()
Dim temp()
Set F = Sheets("Feuille liaison BD")
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In F.Range("A3:A" & F.[A65000].End(xlUp).Row)
If c.Value <> "" Then MonDico.Item(c.Value) = c.Value
Next c
temp = MonDico.items
Call tri(temp, LBound(temp), UBound(temp))
Me.ComboBox1.List = temp
End Sub
Sub tri(a(), gauc, droi) ' Quick sort
ref = a((gauc + droi) \ 2)
g = gauc: d = droi
Do
Do While a(g) < ref: g = g + 1: Loop
Do While ref < a(d): d = d - 1: Loop
If g <= d Then
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub

L'erreur est reliée à la valeur c ( marqué en orange). J'ai refais les liens et rien à faire la même erreur se reproduit.

Avec vous une idée pourquoi?

Cydor007
 

Papou-net

XLDnaute Barbatruc
Re : Erreur 2015 avec un combobox

Salut Cydor007,

Essaie en modifiant la ligne incriminée comme ceci:

Code:
If c.Value <> "" Then MonDico.Add c.Value, c.Value
Sinon, envoie ton classeur en pièce jointe et sans données confidentielles.

A+

Cordialement.
 

Cydor007

XLDnaute Occasionnel
Re : Erreur 2015 avec un combobox

Bonjour,

Mon problème est toujours là. J'ai modifié mon code mais sans succès.

À chaque fois que je sélectionne le combobox j'obtiens le message suivant:

erreur d'exécution 13, incompatibilité de type.

Je vous laisse une partie de mon fichier.

J'aimerais tout simplement pouvoir utiliser la boîte pour faire apparaitre le nom de mon client.

Merci de votre aide.

Cydor:)
 

Pièces jointes

  • Base de donnée test 1.xlsm
    662.7 KB · Affichages: 50

Papou-net

XLDnaute Barbatruc
Re : Erreur 2015 avec un combobox

Bonsoir Cyber007, Pierrot,

Ci-dessous la macro qui fonctionne:

Code:
Private Sub ComboBox1_DropButtonClick()
  Dim C As Range, MonDico As Object, Sh As Object, temp()
  Set Sh = Sheets("Feuille liaison BD")
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each C In Sh.Range("A3:A" & Rows.Count).SpecialCells(xlCellTypeFormulas)
    If Not IsError(C.Value) Then MonDico.Add C.Value, C.Value
  Next C
  temp = MonDico.items
  Call tri(temp, LBound(temp), UBound(temp))
  Me.ComboBox1.List = temp
End Sub
Pour suivre les conseils de avisés de Pierrot, dont je partage l'avis, j'ai ajouté les déclarations des variables utilisées.

Pour résumer, l'erreur venait du fait de la première cellule dont le résultat de la formule contient une erreur.

Cordialement.
 

Discussions similaires

Réponses
4
Affichages
218

Statistiques des forums

Discussions
312 354
Messages
2 087 548
Membres
103 586
dernier inscrit
julie30620