Re: USF : TextBox & ListBox, Enchainement en fct de choix de ListBox...
Bonjour Lapou, le Fil, le Forum
Ah non, alors là non, mais pardon Lapou, mais quand ai-je dit que "c'était simple" ???
Rien n'est simple, et surtout ton problème vient du fait que tu tentes de développer une application sans même en avoir dessiné le synopsis sur une feuille de papier...
Ce qui est primordial, mais, je te l'accorde, c'est souvent l'erreur de 99% des apprentis développeurs...
En fait j'avais déjà remanié ton UserForm car tu avais même une colonne cachée dans ta première version et des controls placés en dépit de l'ordre des colonnes de la feuilles de retour d'info...
Maintenant tu ajoutes carrément un Control ComboBox entre des controls déjà existants...
Hum, pour l'instant il n'y a aucun code vraiment sérieux dans cette mini appli, mais c'est impardonnable dans une grosse application... Là on risque de recommencer tout...
De plus tes controls activesX ne sont pas nommés séquentiellement, et il en manque...
Voici leur Propriétés TabIndex Respective :
(Ordre de Tabulation accessible par un click droit sur le UserForm View Tab Order ou par le Menu Affichage)
TextBox2 = TabIndex 2
TextBox3 = TabIndex 3
ComboBox1 = TabIndex 4
ComboBox2 = TabIndex 5
TextBox4 = TabIndex 6
ComboBox3 = TabIndex 7
ComboBox4 = TabIndex 8
ComboBox5 = TabIndex 9
ComboBox6 = TabIndex 10
TextBox5 = TabIndex 11
TextBox6 = TabIndex 12
TextBox7 = TabIndex 13
ComboBox7 = TabIndex 14
TextBox9 = TabIndex 15
Pour pouvoir boucler sur des Controls de nommés de la sorte,
j'ai rusé avec la propriété "Tag", voici le Tags respectifs :
(Accessible par la fenêtre des Propriétés respectives de chaque ActiveX (F4))
TagDate01
TagNom02
TagFamille03
TagLigne04
TagRéférence05
TagCode Défaut06
TagPrécision Défaut07
TagCriticité08
TagOrigine09
TagNombre d'Appareils Bloqués10
TagQuantité Prélevée11
TagRemarque Analyse Détaillée12
TagNature Du Problème13
TagTraité Par14
Le code suivant "sait lire ceci" pour écrire sur la feuille :
With Sheets(WSArray(x))
L = .Range("A65536").End(xlUp).Row + 1
For Each CTRL In Controls
If Left(CTRL.Tag, 3) = "Tag" Then
.Cells(L, Val(Right(CTRL.Tag, 2))) = CTRL.Value
End If
Next CTRL
End With
Donc voici la version arrangée, mais souviens-toi toujours de penser à tout avant même d'ouvrir l'Editeur Visual Basic... Pour ce qui est de la Base de Données, j'ai essayé de faire en sorte que tu puisses l'élargir, mais pas vraiment d'inserrer des contrôles de la sorte...
En prime tu as ta TextBox7 celles des "Remarques, analyse détaillée" qui est en MultiLignes...
Voilà, rien n'est simple et rien n'arrive sur un plateau... Il faut beaucoup de patience et persévérance, de la curiosité et de l'audace aussi....
Bon Courage
@+Thierry