Selection via des combobox pour affichage dans des textbox

Myst

XLDnaute Occasionnel
Bonjour le forum
J'ai un petit fichier a vous soumettre
le problème a résoudre est le suivant
Dans userform1 j'ai 3 combobox ou je sélectionne des données ,cette sélection va chercher les valeurs correspondantes
dans le tableau de la feuille1 ,les additionner et les copier dans les textbox de l'userform2
exemple:
1 - je clique sur le bouton "SELECTION" de la feuil1
2 - je fais une sélection dans une ou plusieurs combobox
3 - en fonction de cette sélection les totaux de la colonne E de la feuil1 viennent s’inscrire dans les textbox de l'userform2
Simple non ! :eek:
Merci d'avance
 

Pièces jointes

  • Myst V1.xlsm
    26.3 KB · Affichages: 40
  • Myst V1.xlsm
    26.3 KB · Affichages: 43
  • Myst V1.xlsm
    26.3 KB · Affichages: 42

Paf

XLDnaute Barbatruc
Re : Selection via des combobox pour affichage dans des textbox

Bonjour Myst,

une façon de faire; la Userform2 doit être ouverte.

dans l'USF1:

Code:
Private Sub UserForm_Initialize()
 UserForm2.Show 0
End Sub

Code:
Private Sub ComboBox1_Change()
 For i = 2 To 13
    UserForm2("textbox" & i - 1) = Val(UserForm2("textbox" & i - 1)) + Cells(i, ComboBox1.ListIndex + 2)
 Next
End Sub
Private Sub ComboBox2_Change()
 For i = 2 To 13
    UserForm2("textbox" & i - 1) = Val(UserForm2("textbox" & i - 1)) + Cells(i, ComboBox2.ListIndex + 2)
 Next
End Sub

Private Sub ComboBox3_Change()
 For i = 2 To 13
    UserForm2("textbox" & i - 1) = Val(UserForm2("textbox" & i - 1)) + Cells(i, ComboBox3.ListIndex + 2)
 Next
End Sub

A+
 

Myst

XLDnaute Occasionnel
Re : Selection via des combobox pour affichage dans des textbox

Bonjour Paf ,le forum
Le fonctionnement me convient mais je n'arrive pas a l’adapter a mon fichier ,peut être a cause de la façon d'alimenter les combobox (LISTE!A2:A4) alors que dans le fichier principale les combobox alimentent d'autre combobox
Je joint le fichier original alléger au maximum en espèrent que tu puisse y jeter un œil
EXEMPLE : Si il y a quelque chose de sélectionné dans la combobox1 ,alors les valeurs de la colonne correspondante de la page "DOCUMENTS A IMPRIMER DIMANCHE" viennent remplir les textbox de l'userform "DOCS_A_IMPRIMER_DIMANCHE"
Si il y a quelque chose de sélectionné en plus dans la combobox3 ,alors les valeurs des 2 colonnes correspondante ,toujours de la page "DOCUMENTS A IMPRIMER DIMANCHE" s'additionnent dans les textbox de l'userform "DOCS_A_IMPRIMER_DIMANCHE"
merci
 

Pièces jointes

  • Myst V2.xlsm
    120 KB · Affichages: 39
  • Myst V2.xlsm
    120 KB · Affichages: 35
  • Myst V2.xlsm
    120 KB · Affichages: 32

Paf

XLDnaute Barbatruc
Re : Selection via des combobox pour affichage dans des textbox

Re,

Dans les Combobox le premier élément (P 62) a l'indice 1, or dans la feuille la correspondance est en colonne 2.

Donc modifier

UserForm2("textbox" & i - 1) = Val(UserForm2("textbox" & i - 1)) + Cells(i, ComboBox1.ListIndex + 2)

en

UserForm2("textbox" & i - 1) = Val(UserForm2("textbox" & i - 1)) + Cells(i, ComboBox1.ListIndex + 1)

Pour le reste, le principe serait le même que celui proposé au post #2 (même si on peut l'améliorer), à la différence que dans l'USF Userform2, les textbox étaient nommées en suivant : TextBox1, Textbox2, ..., TextBox12, alors que dans l'USF DOCS_A_IMPRIMER_DIMANCHE, les 34 textbox sont nommées aléatoirement entre TextBox9 et TextBox306; on ne peut donc plus utiliser une simple boucle.

après renommage de ces textbox , il n'y aurait qu'à adapter les indices de boucles les noms de feuilles et d'USF.

Bon courage


Edit: attention à prendre en compte le chois de * dans les combobox, ainsi que la possibilité de choisir plusieurs fois la même valeur dans différentes combobox
 
Dernière édition:

Myst

XLDnaute Occasionnel
Re : Selection via des combobox pour affichage dans des textbox

Bonjour Paf ,le forum
J'ai appliqué les modifications que tu évoquais mais j'ai un bug dans la ligne ci dessous que je n'arrive pas a cerner :mad:

For i = 2 To 34
DOCS_A_IMPRIMER_DIMANCHE("textbox" & i - 1) = Val(DOCS_A_IMPRIMER_DIMANCHE("textbox" & i - 1)) + Cells(i, ComboBox1.ListIndex + 1)
Next

si tu pouvais regarder le fichier modifié et me dire ce que tu en pense :confused:

merci
 

Pièces jointes

  • Myst V3.xlsm
    170.8 KB · Affichages: 30
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Selection via des combobox pour affichage dans des textbox

Re,

le soucis provient du positionnement des Combo 1 à 8 sur leur premier élément ( dans Private Sub UserForm_Initialize() code Me.ComboBox1.ListIndex = 0)

à l'exécution, Private Sub ComboBox1_Change() ( et pour les 9 combo) se déclenche avant même qu'on choisisse manuellement, et donc dans l'instruction :
Code:
DOCS_A_IMPRIMER_DIMANCHE("textbox" & i - 1) = Val(DOCS_A_IMPRIMER_DIMANCHE("textbox" & i - 1)) + Cells(i, ComboBox1.ListIndex + 1)
le listindex de la combo étant à 0, on va tenter d'ajouter à la textbox la valeur de cells(i,1) qui correspond à la première colonne de la feuille DOCUMENTS A IMPRIMER DIMANCHE qui ne contient que du texte.

une solution consisterait à ne pas forcer les listindex à 0, mais si l'utilisateur fait le choix "*" dans une combo on se retrouvera dans la même situation. ( avertissement fin de post #5). Il faudrait alors faire un test sur le listindex et si > 0 alors faire la boucle de comptage

A quoi sert le choix "*" ?

A+
 

Myst

XLDnaute Occasionnel
Re : Selection via des combobox pour affichage dans des textbox

Re
La sélection * sert à afficher la totalité des références mais a la limite si on retire cette option est ce que cela facilite le fonctionnement ?
 

Paf

XLDnaute Barbatruc
Re : Selection via des combobox pour affichage dans des textbox

Re,


il y a deux soucis :

1) le forcage des listindex qui déclenche les Private Sub ComboBoxX_Change
2) le choix "*"

si on supprime le forçage et qu'on rajoute un test dans Private Sub ComboBoxX_Change, du style:
If ComboBox1.ListIndex=0 then 'si choix *
For i = 2 To 34 'chaque ligne
For j = 2 To 10 'chaque colonne
DOCS_A_IMPRIMER_DIMANCHE("textbox" & i - 1) = Val(DOCS_A_IMPRIMER_DIMANCHE("textbox" & i - 1)) + Cells(i, j)
Next
Next
Else ' si supérieur à 0
For i = 2 To 34
DOCS_A_IMPRIMER_DIMANCHE("textbox" & i - 1) = Val(DOCS_A_IMPRIMER_DIMANCHE("textbox" & i - 1)) + Cells(i, ComboBox1.ListIndex + 1)
Next
end if

si choix "*" on affiche les totaux de toutes les colonnes de la feuile DOCUMENTS A IMPRIMER DIMANCHE, sinon on ajoute en fonction du choix.

le seul problème restant serait celui de supprimer la possibilité à l'utilisateur de pouvoir faire un autre choix dans les combo (1 à 8) s'il a déjà fait le choix "*" dans l'une d'elle, sous peine de fausser les résultats



A+

Nota, la userform recevant ces résultats (DOCS_A_IMPRIMER_DIMANCHE) doit être ouverte . Cf remarque du post #2
 

Myst

XLDnaute Occasionnel
Re : Selection via des combobox pour affichage dans des textbox

Bonjour Paf ,le forum
T'est explications semble très claire mais a mon niveau c'est une autre histoire :eek: ,je pense que je vais m'orienter vers une autre solution du genre copier les sélections des combobox 1 a 8 dans une feuille ,faire le calcul (formule "SI" avec une mise en forme conditionnelle) et renvoyer le tout dans un UserForm ,cela devrait être plus simple a mettre en œuvre
Quand pense tu :confused:
 

Pièces jointes

  • Myst V4.xlsm
    159.8 KB · Affichages: 39
  • Myst V4.xlsm
    159.8 KB · Affichages: 40
  • Myst V4.xlsm
    159.8 KB · Affichages: 52

Paf

XLDnaute Barbatruc
Re : Selection via des combobox pour affichage dans des textbox

Re,

copier les données dans une feuille ne résout pas les problèmes évoqués du choix "*" .
le seul avantage sera que, étant enregistrées, les données peuvent être reprises dans une USF quand on veut.

c'était d'ailleurs une solution préconisée sur un autre post de tes posts.

Bonne suite
 

Myst

XLDnaute Occasionnel
Re : Selection via des combobox pour affichage dans des textbox

Bonjour Paf ,le forum
Désolé pour la réponse un peu tardive mais vaut mieux tard que jamais
Juste pour te remercier du temps que tu m'as consacré ,je réussi temps bien que mal a trouver une solution a mon problème en passant par une feuille avec formule
encore merci a toi : cool:
 

Myst

XLDnaute Occasionnel
Re : Selection via des combobox pour affichage dans des textbox

Bonjour Paf ,le forum
Désolé pour la réponse un peu tardive mais vaut mieux tard que jamais
Juste pour te remercier du temps que tu m'as consacré ,je réussi temps bien que mal a trouver une solution a mon problème en passant par une feuille avec formule
encore merci a toi : :cool:
 

Discussions similaires

Réponses
11
Affichages
198
Réponses
26
Affichages
403

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87