Je renouvelle ici mes remerciements à la communauté pour leur implication performante, notamment Mr BOISGONTIER !
Cependant, Mr BOISGONTIER avait aimablement modifié son programme afin d'y inclure des Tabulations.
A mon tour j'ai voulu adapter ses codes pour y faire des listes en cascade et un userform de datepicker.
Je me retrouve dans la panade : Rien de ce que j'ai fait ne fonctionne ! Je me retrouve avec des codes d'erreurs s'agissant des listes en cascade et je n'arrive pas à faire en sorte que le date picker (dble clic sur une textbox1 & 2 ) donne 1 date (différent ou non) par textbox ...
Vous connaissant un peu, rien de tel qu'un fichier plus que des grands mots !
Pourriez-vous donc m'indiquer où ai-je mal codé svp ? car j'ai 2x 3 listes en cascades (les mêmes) et plein plein de textbox date à faire, donc j'aimerai comprendre si possible svp ?
Je te remercie pour ton retour rapide !
J'ai collé les variables (?) en haut du projet ou dans userform_initialize, mais je rencontre les memes bugs. dois-je aller jusque D3 dans le même esprit ?
A quoi cela sert-il stp ?
Par ailleurs, en 2013, tu ne peux pas l'ouvrir ? c'est plutôt gênant pour les utilisateurs amenés à s'en servir. Pourquoi ?
Merci en tout cas de ton retour, je poursuis donc mes recherches !
NB: Le problème des listes en cascade s’arrête là :
VB:
Private Sub TextBox12_Change()
If Me.textbox11 <> "" Then
If Me.textbox12.ListIndex = -1 And IsError(Application.Match(Me.textbox12, Poles, 0)) Then
Set D1 = CreateObject("Scripting.Dictionary")
tmp = UCase(Me.textbox12) & "*"
For Each C In TblPoles
If UCase(C) Like tmp Then D1(C) = ""
Next C
Me.textbox12.List = D1.keys
Me.textbox12.DropDown
Else
Set D3 = CreateObject("Scripting.Dictionary")
Condition1 = Me.textbox11
Condition2 = Me.textbox12
If Condition1 = "" Or Condition2 = "" Then Exit Sub
Set D3 = CreateObject("Scripting.Dictionary")
For i = LBound(Services) To UBound(Services)
's arrete ici jusqu'au "Then"
If Directions(i) = Condition1 And Poles(i) = Condition2 Then D3(Services(i)) = ""
Next i
TblServices = D3.keys
Me.textbox13.List = TblServices
' Me.textbox13.SetFocus
' If Val(Application.Version) > 10 Then SendKeys "{f4}"
End If
End If
End Sub
La façon de coder diffère un peu entre 2007-2013. Mais là je vois 2 fois Set D3 = CreateObject("Scripting.Dictionary"), 1 fois suffit.
Cette ligne est à mettre dans Userform_Initialize ansi que D1.
Merci pour tes retours, et désolé : je suis en 2016, je viens de mettre à jour mon profil ...
Bon j'ai viré la ligne D3 et mis celle donnée précédemment du userform, hélas pas d’améliorations..
Mais ta remarque me fait dire que c'est le bronx dans le collage des codes ! j'ai tenté du zèle en supprimant les lignes qui doublaient = grossière erreur!
Donc je fais du pas à pas avec tes infos !
Merci pour ta présence !
Revoici le fichier "un peu rangé".
1) Le formulaire : La partie de JacquesBOISGONTIER = fonctionnelle (évidemment)
2) Les listes en cascades : La partie de ... Jacques BOISGONTIER (ajoutée par mes soins) = n'accepte pas le "retour en arrière" tb1 puis tb2 puis tb3 puis re tb2 = erreur
3) le datepicker (signé dans un module) fonctionnel si double clic sur un textbox "date xxx", mais ne rempli que la textbox1... (j'ai un peu touché au code pour ce faire....)
Vu que c'est Jacques Boisgontier qui a fait le code. Mieux vaut que se soit lui qui intervienne. J'ai vu aussi le code du calendrier, il y a Day(Activecell), Mais à quelle feuille fait-elle référence et à quelle cellule??
Et la ligne des variables que j'ai mis, faut la mettre en dessous des autres variables et non dans initialize.
C’est la queue entre les jambes que je vous annonce que tous vos codes sont parfaits !
Seul moi suis fautif !! Mon pote Saïmi a tout résolu en 30sec : les noms des mes combobox (renommées en TextBox pour les besoins du programme de JBG) ne ... respectaient pas la casse....
Je suis infiniment désolé du temps que je vous ai fait perdre..
Merci également tout autant Lone-wolf de ta participation sans moqueries (Pour le moment ;-)