Erreur d'exécution 380 ??

PAD

XLDnaute Occasionnel
Bonjour le forum,

Et bien voilà mon souci, j’ai repris un exemple de Monsieur Jacques Boisgontier, sur son site,
Formation Excel VBA JB exemple est celui-ci, http://boisgontierjacques.free.fr/fichiers/Formulaire/FormCascadeService.xls .

Je n’ai fait que descendre de deux lignes la sélection du combobox est j’ai une erreur de type,

Erreur d'exécution 380 :
Impossible de définir la propriété ListBox.
Valeur de propriété non valide.

Le code est :

Private Sub UserForm_Initialize()
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range(Sheets("BD-Client").[B4], Sheets("BD-Client").[B65000].End(xlUp))
If Not mondico.Exists(c.Value) Then mondico.Add c.Value, c.Value
Next c
Me.ComboBox1.AddItem "*"
For Each i In mondico.items
Me.ComboBox1.AddItem i
Next
Me.ComboBox1.ListIndex = 0
End Sub

Private Sub ComboBox1_Change()
i = 0
Me.ListBox1.Clear
For Each c In Range(Sheets("BD-Client").[A4], Sheets("BD-Client").[A65000].End(xlUp))
If c.Offset(0, 1) = Me.ComboBox1 Or Me.ComboBox1 = "*" Then
Me.ListBox1.AddItem c
i = i + 1
End If
Next c
Me.ListBox1.ListIndex = 0
End Sub

Private Sub ListBox1_Click()
Set c = Sheets("BD-Client").[A:A].Find(what:=Me.ListBox1)
If Not c Is Nothing Then
Me.TextBox1 = Sheets("BD-Client").Cells(c.Row, 1)
Me.TextBox2 = Sheets("BD-Client").Cells(c.Row, 2)
Me.TextBox3 = Sheets("BD-Client").Cells(c.Row, 3)
Me.TextBox4 = Sheets("BD-Client").Cells(c.Row, 4)
Me.TextBox5 = Sheets("BD-Client").Cells(c.Row, 5)
Me.TextBox6 = Sheets("BD-Client").Cells(c.Row, 6)
Me.TextBox7 = Sheets("BD-Client").Cells(c.Row, 7)
Me.TextBox8 = Sheets("BD-Client").Cells(c.Row, 8)
Me.TextBox9 = Sheets("BD-Client").Cells(c.Row, 9)
Me.TextBox10 = Sheets("BD-Client").Cells(c.Row, 10)
End If
End Sub


Si quelqu’un pouvait m’éclairer là dessus, ce serai gentil de sa part.
En espérant que ce soit pas trop grave, "je parle de mon cerveau bien sur"


Merci d'avance,

Amicalement PAD
 

jeanpierre

Nous a quitté
Repose en paix
Re : Erreur d'exécution 380 ??

Bonsoir PAD,

Avant de s'approprier une solution donnée par un fichier exemple ou par une démo, il faut bien l'étudier.

Et, c'est ensuite (que l'on a bien compris le raisonnement) et seulement que l'on peut espérer la mettre en oeuvre sur ses propres applis.

Ton texte, dans le post, ne m'inspire pas en l'état.

Un fichier joint, bien explicité, pourrait aider.

Bonne soirée.

Jean-Pierre
 

kjin

XLDnaute Barbatruc
Re : Erreur d'exécution 380 ??

Bonsoir,
Peux tu expliciter ceci...
Code:
Private Sub ComboBox1_Change()
  i = 0
  Me.ListBox1.Clear
  For Each c In Range(Sheets("BD-Client").[A4], Sheets("BD-Client").[A65000].End(xlUp))
    If c.Offset(0, 1) = Me.ComboBox1 Or Me.ComboBox1 = "*" Then
       Me.ListBox1.AddItem c
       i = i + 1
     End If
   Next c
   Me.ListBox1.ListIndex = 0
End Sub
...ou au moins expliquer ce que tu veux faire
kjin
 

PAD

XLDnaute Occasionnel
Re : Erreur d'exécution 380 ??

Bonsoir Jeanpierre,

Merci de me répondre, mais je te rassure je ne m'approprie en aucune manière une solution, je tâche simplement de l'adapter à mes besoins et surtout de comprendre le principe.
Et sur ce problème ci j'ai du mal à comprendre comment ça fonctionne, le fait de déplacer soit d'une ligne ou d'une colonne que tout soit remis en cause.
J'ai essayer toute les solutions à ma porté bien sûr, mais rien à faire.

Donc si vous pouviez m'expliquer que je ne refasse pas la même bêtisse,
je joint un fichier comme vous me le demandez.

Amicalement Pad
 

Pièces jointes

  • Classeur1.xls
    42 KB · Affichages: 107
  • Classeur1.xls
    42 KB · Affichages: 112
  • Classeur1.xls
    42 KB · Affichages: 106

jeanpierre

Nous a quitté
Repose en paix
Re : Erreur d'exécution 380 ??

Re,

Ce que j'ai dit, ce n'est pas un reproche de l'appropriation d'une solution donnée (car c'est le but) mais de sa compréhension avant de l'exploiter.

Dés que tu l'auras compris tu pourras l'adapter à ton propre besoin.

Ton fichier ne m'aide pas, en ce qui me concerne.

Etudie bien l'exemple et seulement, ensuite, transpose à ton sujet. Un peu de boulot, certes....

Jean-Pierre
 

PAD

XLDnaute Occasionnel
Re : Erreur d'exécution 380 ??

Re, Jeanpierre
Bonsoir kjin,

Lol, Vous êtes dur avec moi les gars!
Pour répondre à kjin, explicitement non bien sûr, je ne suis qu’un petit bricoleur, intuitivement certainement, et corrigez moi si c'est pas bon...

Private Sub ComboBox1_Change()
‘donne le focus au le combobox
i = 0
‘vide la listebox
Me.ListBox1.Clear
‘recherche des éléments à afficher dans le combobox
For Each c In Range(Sheets("BD-Client").[A4], Sheets("BD-Client").[A65000].End(xlUp))
‘sélection des éléments du combobox
If c.Offset(0, 1) = Me.ComboBox1 Or Me.ComboBox1 = "*" Then
‘charge la listebox
Me.ListBox1.AddItem c
‘boucle sur les éléments dans la colonne désignée
i = i + 1
End If
Next c
‘et celui-ci me pose un problème, provoque l'erreur
‘je pense vide la listebox ???
Me.ListBox1.ListIndex = 0
End Sub

Pourvu que je n'ai pas tout faux...

Merci encore à vous deux,

A demain si vous le voulez bien, je suis encore au boulot et depuis 6:00 du mat ça commence à peser un peu.

Bonne soirée


Amicalement Pad
 

PAD

XLDnaute Occasionnel
Re : Erreur d'exécution 380 ??

Bonjour le forum, Jeanpierre, kjin,

Merci kjin, je suis très touché par ton travail, mais qu'un autre coté, je pensai que tu aurais pu corriger la démonstration que je vous ai faite sur ma manière de lire et d'interpréter le langage VBA.

Merci encore un fois,
Bonne journée à vous tous,

Amicalement Pad
 

Discussions similaires

Réponses
4
Affichages
213

Statistiques des forums

Discussions
312 239
Messages
2 086 503
Membres
103 236
dernier inscrit
Menni