Label et Combobox.

thomlau

XLDnaute Occasionnel
Bonjour à toutes et à tous.

La recherche n'ayant donné aucun résultat probant, je me permet de poster à nouveau sur ce forum.
J'avais déjà posé une question similaire il y a quelques temps, mais ce n'était pas encore exactement la meme chose.

Donc voilà :

J'ai un USF, une Frame, et à l'intérieur de celle-ci, 6 labels (de 97 à 102) qui doivent prendre la valeur du Combobox2 et pour finir, 6 autres labels (de 103 à 108) qui doivent prendre la valeur du Combobox3.
2° Je clique sur un bouton OK et la valeur des labels est copiée dans un tableau.

Ca parait assez simple, je me casse le nez dessus depuis hier soir....pourriez-vous m'aider SVP?

D'avance merci et bonne journée à tous.
 

thomlau

XLDnaute Occasionnel
Re : Label et Combobox.

Bonjour pierrejean.
Merci de te pencher sur mon problème.

J'ai bricolé rapidement un fichier. Il faut lancer l'USF dans VB.

Merci encore

++
 

Pièces jointes

  • fichier1.zip
    9.6 KB · Affichages: 42
  • fichier1.zip
    9.6 KB · Affichages: 43
  • fichier1.zip
    9.6 KB · Affichages: 43

thomlau

XLDnaute Occasionnel
Re : Label et Combobox.

re

Désolé de te décevoir pierrejean, mais ça je savais le faire, j'aurais du te dire que j'ai simplifié la question, car en fait, il va y avoir beaucoup plus de Combo et autant de lignes supplémentaires de labels.

La question était donc : Comment simplifier ce code pour X combobox?

Code:
Private Sub ComboBox2_Change()
For n = 97 To 102
  Me.Controls("Label" & n) = ComboBox2
Next n
End Sub

De plus, le bouton OK est la pour recopier la valeur des labels sur la feuille "tableau".

@+
 

pierrejean

XLDnaute Barbatruc
Re : Label et Combobox.

Re
Desolé d'avoir mal interprété
A mon avis la solution est dans un module de classe
pour l'instant je ne suis pas assez ferré dans ce domaine
je regarderai mais j'espere qu'un de nos grands tenors d'XLD prendra le relais
 

Pierrot93

XLDnaute Barbatruc
Re : Label et Combobox.

Bonjour Thomlau, PierreJean

D'après ce que j'ai compris, un exemple avec module de classe, en supposant qu'il n'y ait qu'une seule "frame"...

Dans ton fichier tu ne donne qu'un label pour un combo, mais au vu de la boucle, il doit y avoir plusieurs labels liés. Dans ce cas, utilisation de la propriété tag sur les labels et combo, un même groupe doit avoir la même.

Les combos sont alimentés lors de l'initialisation de l'USF, et non par la propriété "rowsource", moins de risque d'erreur.

La classe est initialisée lors du lancement de l'USF, et est déclarée dans une variable public dans un module standard.

A voir si c'est cela que tu recherches...

bon après midi
@+
 

Pièces jointes

  • classeur1.xls
    28 KB · Affichages: 137
  • classeur1.xls
    28 KB · Affichages: 142
  • classeur1.xls
    28 KB · Affichages: 142

thomlau

XLDnaute Occasionnel
Re : Label et Combobox.

Merci pierrot93, merci le forum.

La solution de Pierrot93 est celle que je cherchais...

On a bien avancé, surtout vous, mais il manque un truc...

Un bouton OK et si on clique dessus, toutes les données des labels sont copiées sur une feuille.

Je sais, je suis exigeant, mais j'essaye de faire une appli qui n'affiche que du VBA, pas de classeur...c'est assez dur.

Merci encore pour votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : Label et Combobox.

Re

regarde le code ci dessous, à placer dans le module de l'usf, boncle sur tous les labels, à adapter en fonction de tes critères.


Code:
Private Sub CommandButton1_Click()
For Each c In Me.Frame1.Controls
    If TypeOf c Is MSForms.Label Then
        c.Caption = Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0)
    End If
Next c
End Sub

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 471
Messages
2 088 702
Membres
103 927
dernier inscrit
Mkeal