Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Erreur d'exécution 380 ??

  • Initiateur de la discussion Initiateur de la discussion PAD
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
Re : Erreur d'exécution 380 ??

Bonsoir,
Peux tu expliciter ceci...
...ou au moins expliquer ce que tu veux faire
kjin
 
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

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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
283
Réponses
3
Affichages
672
Réponses
2
Affichages
215
Réponses
10
Affichages
295
Réponses
8
Affichages
485
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
526
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…