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

ArthurLord

XLDnaute Nouveau
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

  • Calcul déplacement.xls
    13.5 KB · Affichages: 56

CHALET53

XLDnaute Barbatruc
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+
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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:

ArthurLord

XLDnaute Nouveau
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

  • Deplacement.xls
    71.5 KB · Affichages: 68
  • Deplacement.xls
    71.5 KB · Affichages: 70
  • Deplacement.xls
    71.5 KB · Affichages: 67
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
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:

ArthurLord

XLDnaute Nouveau
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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • Deplacement v1.xls
    69.5 KB · Affichages: 110
  • Deplacement v1.xls
    69.5 KB · Affichages: 111
  • Deplacement v1.xls
    69.5 KB · Affichages: 109
Dernière édition:

ArthurLord

XLDnaute Nouveau
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")
 

ArthurLord

XLDnaute Nouveau
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")
 

ArthurLord

XLDnaute Nouveau
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.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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:

ArthurLord

XLDnaute Nouveau
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

  • Deplacement v1.xls
    61 KB · Affichages: 49
  • Deplacement v1.xls
    61 KB · Affichages: 49
  • Deplacement v1.xls
    61 KB · Affichages: 54

Discussions similaires

Statistiques des forums

Discussions
312 337
Messages
2 087 392
Membres
103 536
dernier inscrit
komivi