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

Initialiser plusieurs objets d'un seul coup ?

Rootdown

XLDnaute Junior
Bonjour,
je me demandais si il était possible dans un formulaire,
ou j'aurais disons 15 combobox numéroter de 1 à 15 ,
si je pouvait initialiser au lancement du formulaire ceux ci avec une fonction next,
(tout ces objets prenant la meme valeur)

J'ai fait ceci mais ca ne passe pas a l'heure actuel :

Code:
Private Sub userform_initialize()
Dim MyCombo As Object
For i = 1 To 15
    Set MyCombo = formulaire.combobox([i].Value).Object
Next i
End Sub
 

RENAUDER

Nous a quitté
Repose en paix
Re : Initialiser plusieurs objets d'un seul coup ?

Bonjour,
Peut-être cela
Code:
Private Sub UserForm_Initialize()
    For i = 1 To 2
        Controls("ComboBox" & i).Value = 1
    Next i
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Initialiser plusieurs objets d'un seul coup ?

Bonjour à tous,

Je te propose ceci :

Code:
Private Sub UserForm_Initialize()
Dim Cbx As Control
For Each Cbx In UserForm1.Controls
    If Cbx.Name Like "Combobox*" Then
        'Initialisation de Cbx
    End If
Next Cbx
End Sub
Cependant je ne comprend pas bien ton initialisation...
 

Rootdown

XLDnaute Junior
Re : Initialiser plusieurs objets d'un seul coup ?

Merci à vous deux.
La proposition de renauder à fonctionner du premier coup et me convient mieux en fait.
Il va y avoir beaucoup de controls sur ce formulaire et j'ai peur que la boucle de tototiti fasse ramer le tout.
Par initialiser, je veux que dire que tout ces comboxbox prennent pour valeur une liste dynamiques (la même pour tous) et je ne connaissais pas la syntaxe, sans faire une procédure pour chaque cbox
Il y a peut être des choses plus simple, je me complique peut être, je débute
Merci a vous deux.
 

Rootdown

XLDnaute Junior
Re : Initialiser plusieurs objets d'un seul coup ?

Hello,
suite à votre aide, je me trouve confronter a un nouveau blocage
J'ai donc 15 combobox types de produits produits (nommer tipes1 jusqu'à tipes15) qui prennent toute la même valeur, qui se trouve être une liste de feuille grâce a la boucle ci-dessus.
En face de chacune de ces 15 combobox types produits, je voudrais avoir 15 combobox fournisseurs, qui dépendent du choix de la première.

Mon soucis est que les cb produits sont initialiser au démarrage du formulaire,
et pour les 15 cb fournisseur,je ne peux pas car les 15 premières n'ont pas de valeur sélectionner.
Il faut donc le faire grâce a un contrôle change ?
Cela nécessiterait d'en faire 15 (une pour chaque cb), ça me semble lourd a faire ?

Voila ce que j'ai fait :

Code:
Private Sub UserForm_Initialize()
'Choix du type de produit à ajouter (en fonction des catégories feuilles)
    For i = 1 To 15
        For n = 1 To 4
        Controls("produit" & i).AddItem Sheets(n).Name
        Next n
    Next i
End Sub
    
 Private Sub controls_change()
'creer la liste de distributeurs en fonction du types de produits
      For i = 1 To 15
        Var = Controls("produit" & i).Name
        lisdistr = Controls("distributeur" & i)
        Sheets(Var).Select
        Range("A2").Select
        nbenreg = Worksheets(Var).Range("a2").End(xlDown).Row
        entree.listditr.Clear
        While x <= nbenreg
            entree.listdistr.AddItem Cells(i, 2).Value
            x = x + 1
        Wend
    Next i
End Sub

Mais ca reste implacablement vide.
Je pense que mon erreur vient de l'utilisation de la fonction Controls ("combobox" & i), car je n'ai pas l'impression que mon choix dans types produits n'active la feuille désirer.

Merci par avance de votre aide.
 

tototiti2008

XLDnaute Barbatruc
Re : Initialiser plusieurs objets d'un seul coup ?

Bonjour Rootdown,

Pour gérer des évènements de plusieurs contrôles d'un Userform à la fois, je crois qu'il faut passer par la création d'une classe. Je suis sûr que ce thème a déjà été abordé et je ne maîtrise pas les classes.
Tente une recherche...
 

Rootdown

XLDnaute Junior
Re : Initialiser plusieurs objets d'un seul coup ?

Ca fait peur ce truc
C'est sur qu'il faut que j'utilise les modules de classes ?
Je ne vois pas bien ce que ca peut apporter de plus ?
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Initialiser plusieurs objets d'un seul coup ?

bonjour a tous

Avec un petit fichier exemple on serait plus a l'aise pour te repondre (sans données confidentielles , zippé de preference , < 48k)
 

Rootdown

XLDnaute Junior
Re : Initialiser plusieurs objets d'un seul coup ?

Oups, désolé Pierrejean, je te fais répéter (tu m'as déja dis ça)
Je l'avais préparer ce matin et j'ai oublié de le joindre, je viens juste de m'en rendre compte

Edit: j'ai modifier plein de grosse erreur, mais ca ne veut toujours pas.
Je pense que mes erreurs viennent de l'utilisation de Controls ( xxx).
 

Pièces jointes

  • Testdistr.zip
    19.2 KB · Affichages: 29
  • Testdistr.zip
    19.2 KB · Affichages: 26
  • Testdistr.zip
    19.2 KB · Affichages: 30
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Initialiser plusieurs objets d'un seul coup ?

Re

A defaut de module de classe (pour lesquels je n'ai pas encore trouvé le courage d'en faire l'etude)
une proposition alternative
 

Pièces jointes

  • Testdistr.zip
    18 KB · Affichages: 48
  • Testdistr.zip
    18 KB · Affichages: 47
  • Testdistr.zip
    18 KB · Affichages: 76

Rootdown

XLDnaute Junior
Re : Initialiser plusieurs objets d'un seul coup ?

Merci, PierreJean,
en voyant l'ampleur du boulot avec les modules de classes,
je me suis orienté vers une solution quasi identique a ce que tu me propose.
Merci de ton aide.
 

Rootdown

XLDnaute Junior
Re : Initialiser plusieurs objets d'un seul coup ?

Bonjour,
je reviens sur ce petit projet qui a bien avancé mais je viens de me rendre compte d'un problème.
Dans la combobox, on peut choisir dans la liste un des onglets, mais on peut également entrer du texte, et quand ca ne correspond pas à l'onglet, ca bug, ce qui est tout à fait normal.
Mais comment gérer ce genre bug normal ?
Est il possible à l'apparition du bug de proposé de créer un nouvel onglet ?
Merci de votre aide.
 

pierrejean

XLDnaute Barbatruc
Re : Initialiser plusieurs objets d'un seul coup ?

Re

Version avec protection sur combobox1
 

Pièces jointes

  • Testdistr.zip
    18.6 KB · Affichages: 51
  • Testdistr.zip
    18.6 KB · Affichages: 49
  • Testdistr.zip
    18.6 KB · Affichages: 54

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…