Comparraison données ComboBox, pour affichage données dans TextBox

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

A

ArthurLord

Guest
Bonjour, a vous tous

Voila je vous soumet me petit soucis sur une procédure que je n'arrive pas a mettre en œuvre:

un ComboBox qui est remplis avec des données de la feuille 1, cellule F1 à F8.
en fonction de la valeur sélectionnée, je souhaiterai que les 3 TextBox de droite se remplissent avec les données,
contenue sur la feuille 1 en M1 à M8 pour TextBox1, W1 à W8 pour TextBox2 et AG1 à AG8 pour TextBox3, bien sur il faut avant tout rentrée la données "nombre de km".

Ci-joint le fichier de tavail


Merci pour votre aide.
 

Pièces jointes

Re : Comparraison données ComboBox, pour affichage données dans TextBox

Bonjour,

Dans ton fichier, je ne vois :
Ni combobox, textbox,...
ni données en F7 à F8 et pas plus en M1 à M8 , W1 à W8 , AG1 à AG8

Essaie de compléter ton fichier
Merci pour ceux qui pourraient t'aider

a+
 
Re : Comparraison données ComboBox, pour affichage données dans TextBox

Heu..... veuillez me cartonné !!!! effectivement c'est pas le bon lol!
voir message plus bas
 
Dernière modification par un modérateur:
Re : Comparraison données ComboBox, pour affichage données dans TextBox

re-Bonjour,

C'est mieux! 🙂 Essayer le code suivant (à placer dans le module de 'UserForm1':
Code:
Private Sub ComboBox_km_Change()
Dim Ndx
    Ndx = ComboBox_km.ListIndex
    With Sheets("Feuil1")
        If Ndx = -1 Then
            TextBox1 = "": TextBox2 = "": TextBox3 = ""
        Else
            TextBox1 = .Cells(Ndx + 1, "m"): TextBox2 = .Cells(Ndx + 1, "w"): TextBox3 = .Cells(Ndx + 1, "ag")
        End If
    End With
End Sub
 
Dernière édition:
Re : Comparraison données ComboBox, pour affichage données dans TextBox

Super Mapomme ça marche merci pour ton aide et si je peux abuser: quand je change la valeur du nb de jours, et quand tu clic sur le bouton Ok rien ne se passe, seulement quand tu change le ComboBox, de plus est-il possible de modifier l'affichage dans les TextBox, pour être au format décimal avec deux chiffres après la virgule (ou point) avec séparateur des millier? j'en demande un peu trop là mais je souhaiterai avoir un formulaire correct.
 

Pièces jointes

Dernière modification par un modérateur:
Re : Comparraison données ComboBox, pour affichage données dans TextBox

re-Bonjour,
et si je peux abuser
Ca ne coûte rien d'essayer 😉

est-il possible de modifier l'affichage dans les TextBox, pour être au format décimal avec deux chiffres après la virgule (ou point) avec séparateur des millier?
Pour le formatage, on peux utiliser la propriété Text qui renvoie le contenu de la cellule tel qu'on le voit à l'écran. Comme sur Feuil1 les nombres sont au format désiré, les textbox reflètent ce format.
Code:
Private Sub ComboBox_km_Change()
Dim Ndx
    Ndx = ComboBox_km.ListIndex
    With Sheets("Feuil1")
        If Ndx = -1 Then
            TextBox1 = "": TextBox2 = "": TextBox3 = ""
        Else
            TextBox1 = .Cells(Ndx + 1, "m").Text
            TextBox2 = .Cells(Ndx + 1, "w").Text
            TextBox3 = .Cells(Ndx + 1, "ag").Text
        End If
    End With
End Sub

quand je change la valeur du nb de jours
Que doit-il se passer ?

quand tu clic sur le bouton Ok rien ne se passe
Que doit-il se passer ?
 
Dernière édition:
Re : Comparraison données ComboBox, pour affichage données dans TextBox

pour la valeur du nb de jour, quand tu la rentre tu la valide soit par le bouton ok, ou par la touche Enter,
cela doit changer les valeurs dans les 3 TextBox, en fonction de la zone et du nb de jour pour le formatage des TextBox je test
 
Re : Comparraison données ComboBox, pour affichage données dans TextBox

(re)Bonjour,

J'ai annulé la procédure liée au bouton 'OK' car elle interagissait avec le tableau de la 'Feuil1' dont elle modifiait les valeurs. Donc si on changeait plusieurs fois la valeurs du nombre de jour, les résultats étaient erronés. Le bouton 'OK' n'a plus d'action (pour l'instant!). On formate les Textbox d'une autre manière que dans la précédente version.

Voici le code modifié ( le calcul des Textbox se fait maintenant dans l'évènement 'TextBox_jour_Change'):
Code:
Option Explicit

Private Sub ComboBox_km_Change()
    ' on met à jour les trois textbox
    TextBox_jour_Change
End Sub

Private Sub TextBox_jour_Change()
Dim i, Vals(1 To 3), Ndx, Nbj
'on recherche les trois valeurs correspondant au déplacement
    Ndx = Me.ComboBox_km.ListIndex
    If Ndx = -1 Then
        For i = 1 To 3: Vals(i) = 0: Next i
    Else
        With Sheets("Feuil1")
                Vals(1) = .Cells(Ndx + 1, "m")
                Vals(2) = .Cells(Ndx + 1, "w")
                Vals(3) = .Cells(Ndx + 1, "ag")
        End With
    End If
'nombre de jour
Nbj = Val("0" & TextBox_jour)
For i = 1 To 3
    Me.Controls("TextBox" & i) = Format(Nbj * Vals(i), "#0.00")
Next i
End Sub
 

Pièces jointes

Dernière édition:
Re : Comparraison données ComboBox, pour affichage données dans TextBox

C'est exactement ça.....juste que les valeurs retournées pas les 3 TextBox, sont multipliées pas 10, et donc fausse, je pense que le soucis est dans cette ligne:
Me.Controls("TextBox" & i) = Format(Nbj * Vals(i), "#0.00")
 
Re : Comparraison données ComboBox, pour affichage données dans TextBox

C'est exactement ça.....juste que les valeurs retournées pas les 3 TextBox, sont multipliées pas 10, et donc fausse, je pense que le soucis est dans cette ligne:
Me.Controls("TextBox" & i) = Format(Nbj * Vals(i), "#0.00")
 
Re : Comparraison données ComboBox, pour affichage données dans TextBox

Merci bien pour ton aide Mapomme, j'ai rajouter un diviser par 10 dans ta ligne:
Me.Controls("TextBox" & i) = Format(Nbj * Vals(i) /10, "#0.00") et cela m'a l'air pas mal.

Encore merci de tes services.
 
Re : Comparraison données ComboBox, pour affichage données dans TextBox

Bonsoir,

Il n'y a pas, à priori, à diviser par 10. Ce qui est fait dans le Userform: En fonction du déplacement et du nombre de jours, on va chercher les valeurs des colonnes M,W et AG correspondant à la ligne du déplacement puis on multiplie ces trois valeurs par le nombre de jours et on les affiche dans les trois textbox.
Le PB que je vois est que les formules de ces trois colonnes sont le résultat de formules faisant d'ailleurs intervenir la cellule A1 mais ce n'est pas mon code qui modifie les valeurs du tableau. De plus, les valeurs initiales de ton tableau ont été modifiées par mes différents essai. Il faut donc remettre les valeurs réelles spécifiques à ton PB.
 
Dernière édition:
Re : Comparraison données ComboBox, pour affichage données dans TextBox

Merci Mapomme pour le retour, je te joint le résultat final qui fonctionne comme je le souhaite avec les formules des mes cellules. pour info la formule pour le déplacement est composée de 3 variables, alors que pour les deux autres il y a que 2 variables.
le principal est que je retrouve bien les valeurs calculées dans les textbox, et elles changes en fonction de la zone, ou du nombre de jours rentré.

merci de ton aide
 

Pièces jointes

- 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

S
Réponses
2
Affichages
749
sgangbadjo
S
L
Réponses
40
Affichages
5 K
lalimace
L
D
Réponses
8
Affichages
2 K
H
Réponses
2
Affichages
930
harry226h
H
M
  • Question Question
Réponses
4
Affichages
2 K
G
Réponses
7
Affichages
3 K
GysEcxelVBA
G
Retour