ListBox selection

Bonjour j'ai la liste suivante:

image

Les éléments de la liste de gauche sont stockes dans la feuille suivante:

image

En cliquant sur la lame dans la liste de gauche je veux faire apparaitre la longueur, type, tension et Nombre, cette opération se fait pour 4 modèles de lames M1 M2 M3 M4, pour ne pas définir a chaque fois les feuilles ou les lames sont stockes j'ai rédigé ce code:

Private Sub ListBox1_Click()

Nom_Lame = Me.ListBox1.List(Me.ListBox1.ListIndex, 0)
Cycle = Me.TextBox1.Value ' pour specifier le nom de la feuille 
Me.ListBox2.Clear
Me.ListBox2.ColumnCount = 4
Me.ListBox2.ColumnWidths = "100;100;100;100"

    Set ws_Cycle_M1 = ActiveWorkbook.Worksheets(Cycle)
    ws_Cycle_M1.Activate
    dc = ws_Cycle_M1.Cells(2, 256).End(xlToLeft).Column
    Dim Plage As Range, Trouve As Range
    Set Plage = ws_Cycle_M1.Range(Cells(2, 1), Cells(2, dc))
    Set Trouve = Plage.Cells.Find(what:=Nom_Lame)

    For i = 2 To dc
    If Trouve Is Nothing Then
        Else
        If ws_Cycle_M1.Cells(2, i) = Trouve Then

        Me.ListBox2.AddItem ws_Cycle_M1.Cells(3, i)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 1) = ws_Cycle_M1.Cells(5, i)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 2) = ws_Cycle_M1.Cells(4, i)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 3) = ws_Cycle_M1.Cells(6, i)
'        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 4) = ws_Cycle_M1.Cells(6, i)

        End If
    End If

Next i

End Sub

J'ai une erreur au niveau de

Cycle = Me.TextBox1.Value

Il me dit incompatibilité de Type. je le défini dans un module en tant que string est ce que c'est faux ?

MERCI

Il faut juste définir la variable Cycle en début de la procédure comme suit:

Dim Cycle as String 

Bonjour consonnes et voyelle, bonjour le forum,

Ce qui est étrange c'est que si, dans la procédure Click du CommandButton1 de l'UserForm UF_Menu, j'écris juste avant la dernière ligne :

Debug.Print Cycle
UF_Ajout_Lame_Mx.Show

Il me renvoie 0 alors qu'il devrait me renvoyer une chaîne vide vu que cette variable est déclarée Publique de type String ?!...

J'ai rajouté la ligne :

Private Sub ListBox1_Click()
Dim Cycle As String

en tout début de la procédure Click de la ListBox1 et là, ça marche ! Plus de bug...
J'ai eu beau chercher si la variable Cycle n'avait pas été déclarée différemment ailleurs et je n'ai pas trouvé. Donc il semblerait que la déclaration Publique ne soit pas prise en compte mais cela serait plus qu'impensable...

Oui le faite de la déclarer dans un module apparemment ca n'a pas été pris en compte :/ malgré que j'ai déjà fais la même chose pour d'autre codes et ca fonctionnait...

Bonjour à tous,

Cycle pose problème ?

Normal > Cycle est un mot clé > l'on ne peut pas l'utiliser en tant que nom de variable ...

https://docs.microsoft.com/fr-fr/office/vba/Language/Reference/User-Interface-Help/cycle-property

Je suggère d'utiliser LeCycle > puis CTRL+H > Projet en cours F> Suivant pour rechercher et modifier ...

Sinon, la recherche manuelle ...

Il n'y a que 3 places où modifier ce nom > 1 fois au Module1 et 2 fois au début de la macro "ListBox1_Click" du formulaire "UF_Ajout_Lame_Mx" ...

ric

Re,

Ha merci Ric ! Je ne savais pas que Cycle c'était un mot clé et je trouvais très surprenant ce dysfonctionnement. Je comprends pourquoi maintenant...

Ah oui maintenant c'est clair pour moi. Merci Ric

ric

Rechercher des sujets similaires à "listbox selection"