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

Userform dynamique

  • Initiateur de la discussion Initiateur de la discussion Tim
  • 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 !

T

Tim

Guest
Bonsoir,

j'aurais voulu savoir s'il etait possible de conditionner le nombre de Textbox dans un userform.
Par exemple, je rentre dans une cellule le nombre 3 et 3 textbox s'inserent dans mon userform.

Est ce possible?

merci

Tim
 
bonjour le forum, tim
sujet deja traité il y a quelque temps deja.
j'avais fait un exemple de ce sujet.
mais bon, je suis de bonne humeur.
tu cree un userform avec 10 textbox par exemple
tu les mets en visible=false
avec un inputbox, ou autre chose, tu demandes combien de textox doivent etre visible.
apres tu mets le code suivant
for i = 1 to nb (nb=nbre de textbox visible)
controls('textbox'&nb).visible=true
next

maintenant, il y a une methodes plus simple mais celle ci marche et est a la portee de tous.
bonne continuation

justine
 
bonjour Tim , Justine et cher José


ci joint une autre possibilité

Private Sub CommandButton1_Click()
Dim TxtB As Control
Dim i As Integer

For i = 1 To 3 'boucle pour créer les Textbox
Set TxtB = Me.Controls.Add('forms.Textbox.1')

With TxtB
.Left = 5
.Top = 10 + ((i - 1) * 50)
.Width = 75
.Height = 20
End With

Next i
End Sub




bonne journée
MichelXld

Message édité par: michelxld, à: 03/06/2006 13:56
 
rebonjour a tous
pour repondre a jmps, je n'etais pas en colere, j'etais un peu pressée car je devais m'absenter.
j'ai peut etre un peu expressement repondu a tim de facon cru mais j'au voulu repondre a son probleme avant de partir.
voila, c'est juste pour m'expliquer.

pour repondre a michelxld, je n'avais pas pensé a contruire les textbox. je note cette methode.
merci
bisous a tous
justine
 
Bonjour,

Merci beaucoup pour le code, ca marche mais je plante un peu plus loin sur 2 points. J'ai utilise le code de Michel et je cree autant de doublet de combobox que je souhaite (cf>PJ).jusque la tou va bien...

Cependant, je voudrais conditionner la liste de la seconde en fonction de la valeur de la premiere. Ce sujet a ete traite precedemment sur ce forum. Mais je bloque pour l'appliquer a mon probleme. En effet, il faut que chaque ComboBox soit conditionnee par la ComboBox qui est a gauche sur la meme ligne (je concois que c'est un peu incipide, je met un fichier en PJ). Et la je me trouve face a la difficulte:
-je ne vois pas d'aure facon que de le faire dans la boucle de creation des combobox,
- mais il faudrait que je lance le conditionnement avec une procedure de type Combo_change.

Une idee?


Mon second probleme est un probleme d'adresse, je voudrais que la valeur de la combobox soit reportee dans une feuille excel. Pas de probleme si j'utilise quelque chose du genre combobox.text='xxx' avec ensuite Worksheets ('feuille').cell(x,y)=combobox.text. Mais l'utilisation d'une liste deroulante semble interdire cette syntaxe.

Si quelqu'un a la moindre idee sur ces 2 questions , la mojndre petite aide sera appreciee.
B)
A+
Tim
 
rebonjour

ton classeur n'est pas passé

en attendant j'espere que cet exemple pourra t'aider afin de gérer les evenements des objets créés dynamiquement


par contre je n'ai pas compris ta derniere question


bon apres midi
MichelXld [file name=objetsDynamiques_Dans_USF.zip size=14212]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/objetsDynamiques_Dans_USF.zip[/file]
 

Pièces jointes

Bonjour,

merci beaucoup,

je viens de regarder le code et je pense que je peut l'appliquer.

Concernant la seconde question, en fait c'est tres bete, je veux juste copier dans une feuille du classeur la valeur que je selectionne dans la liste deroulante de ma ComboBox...Et ca plante. ca ne marche pas avec la syntaxe :Worksheets ('feuille').cell(x,y)=combobox.

Ma question aux gentils professionnels de excel est : Y a t- une autre syntaxe possible

Merci beaucoup

(ma PJ n'etant pas passee la premiere fois je la remets)
 
bonjour Tim

ton fichier doit etre zippé , de taille inferieure à 50 ko , sans espaces ni caracteres speciaux ( à , ç , é , è , ...etc ...) dans le nom du fichier , et sans données confidentielles

ci dessous un lien qui explique comment joindre un fichier

Lien supprimé



Pour ta derniere question, tu peux faire un essai en ajoutant cette ligne en reprenant le classeur que je t'ai proposé hier

Feuil1.Cells(1, CInt(classCombo.Tag)).Value = classCombo.Value


à placer dans le module de classe :

Public WithEvents classCombo As MSForms.ComboBox

'gestion evenement des combobox créés dynamiquement
Private Sub classCombo_Change()
Feuil1.Cells(1, CInt(classCombo.Tag)).Value = classCombo.Value
UserForm1.Controls('objTextBox' & classCombo.Tag) = classCombo.Value
End Sub


chaque selection du Combobox s'affiche dans une colonne de la 1ere ligne

Cells(1, CInt(classCombo.Tag)).Value


classCombo.Tag sert à identifier chaque objet créé dynamiquement


bonne journée
MichelXld

Message édité par: michelxld, à: 05/06/2006 07:42
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Filtre Dynamique
Réponses
5
Affichages
253
Réponses
2
Affichages
187
Réponses
10
Affichages
283
Réponses
2
Affichages
379
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…