Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Effacer ta macro : Private Sub UserForm_Initialize()
et la remplacer par celle ci-dessous :
Code:
Private Sub UserForm_Initialize()
[COLOR="Green"]' Macro modifié par Excel-lent le 26/10/09
[/COLOR]
ListBox1.RowSource = "Listes!A2:A4" [COLOR="Green"]'Operateur[/COLOR]
End Sub
Rajouter la macro suivante :
Code:
Private Sub ListBox1_Click()
[COLOR="Green"]' Macro créé par Excel-lent le 26/10/09[/COLOR]
Dim Tablo, k As Long
Tablo = Sheets("Listes").Range("B2:D6")
With ListBox3
.ColumnCount = 3
.ColumnWidths = "50;30;30"
.Clear
For k = 1 To UBound(Tablo)
If Sheets("Listes").Cells(k, 1) = Me.ListBox1.Value Then
.AddItem Tablo(k, 1)
.List(.ListCount - 1, 1) = Tablo(k, 2)
.List(.ListCount - 1, 2) = Tablo(k, 3)
End If
Next k
End With
End Sub
Ainsi ta ListBox3, se remplira (avec toutes les colonnes) en fonction de la ligne sélectionné dans la ListBox1.
Pour ta ListBox2, n'ayant pas compris ce que tu veux mettre dedans, je ne peux malheureusement t'aider. Tu peux détailler?
Un petit conseil en passant : pour plus de clarté dans ton code (et ton explication), si tu avais changé le nom de ta ListBox1, ListBox2, ListBox3 cela aurait nettement mieux!
Par exemple au lieu d'appeler ta première ListBox : ListBox1, tu aurais pu l'appeler : ListBoxOpérateur.
Pour ta ListBox2, tu aurais pu la nommer : ListBoxVariable
Pour ta ListBox3 => ListBoxParamètre
Pour le faire, c'est simple, il suffit de cliquer une fois sur la ListBox de ton choix, et dans la partie de gauche, sur la ligne (Name), remplacer ListBox1 par ListBoxOpérateur.
Avantage de nommer tes ListBox ainsi, c'est que tu sais qu'il s'agit de ListBox et en même temps tu sais ce qu'il y a dedans!
Evidement, tu peux faire la même chose (c'est même conseillé) pour tes CommandButton et compagnie
Le mieux c'est de faire cela lors de la création de ton UserForm (lui aussi tu peux le renommer ). Car si tu le fais maintenant, après avoir renommer tes ListBox, il faudra également renommer tes noms de macro!
Ta macro : Private Sub ListBox1_Click() deviendra : Private Sub ListBoxOpérateur_Click()
Et dans ta macro, il faudra remplacer : With ListBox3 par With ListBoxParamètre
etc...
PS. : pour information, pour les noms, il ne faut mettre d'espace.
Re : Afficher le contenu de listbox selon condition
Bonsoir Tekmars,
Je constate avec plaisir que tu as nommé tes ListBox et Cie
J'ai réglé ci-joint ton problème de ListBoxVariable, et j'ai profité de l'occasion pour terminer ta macro lié au bouton "Validation".
Et tant qu'à faire, j'ai rajouté dans cette dernière macro quelques contrôles basiques pour qu'avant que la macro referme l'UserForm et enregistre les données sur la feuille "Datas", elle s'assure que l'utilisateur a bien :
-> sélectionné un opérateur
-> sélectionné une variable
-> saisie le nombre de jours
-> ...
Et tant que l'utilisateur n'a pas corrigé sa saisie, il ne peut quitter l'UserForm (à moins de cliquer sur la croix de l'UserForm)
J'ai mis des commentaires dans la macro, pour que tu t'y retrouve et comprenne plus facilement. Si tu as le moindre soucis, n'hésites pas à demander des explications complémentaires.
L'idéal serait de rajouter un bouton "Annuler la saisie" avec pour macro :
Code:
Private Sub CommandButtonAnnulerLaSaisie_Click()
Unload UserForm1
End Sub
Dans le cas où évidement tu as nommé ce CommandButton : CommandButtonAnnulerLaSaisie
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.