Resultat de calcul dans un userform Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
d
djez
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 4 janvier 2009
Version d'Excel : MAC 2008

Message par djez » 13 janvier 2013, 17:15

Bonjour à tous,

Je cherche quel serait selon la meilleur méthode pour afficher des résultats de calculs dans un user form.
Je m'explique un peu.

En gros j'ai un premier userform avec une zone de texte dans le quel je dois rentrer une valeur.
En cliquant sur un bouton calculer du mem userform j'ai tout un tas de calcul dans differente cellule.

Exemple concret: J'aurai voulu afficher dans un userform une concatenation de texte plus le resultat de mes calculs. Comme par exemple:

"Le calcul a retourné : " + nbrDemiJournee +" 5 demi journées

Dans quoi je dois afficher ca ? Une zone de texte ? Comment concatener en vba car j'ai une erreur d'execution 13.

En esperant avoir été explicite, merci d'avance
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'690
Appréciations reçues : 5
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 13 janvier 2013, 19:11

Bonjour
djez a écrit :Dans quoi je dois afficher ca ?
Généralement Zone de texte ou Label
djez a écrit :"Le calcul a retourné : " + nbrDemiJournee +" 5 demi journées
essayes plutôt (dans un Label)
Me.Label1.Caption = "Le calcul a retourné : " & nbrDemiJournee + 5 & " demi journées
d
djez
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 4 janvier 2009
Version d'Excel : MAC 2008

Message par djez » 13 janvier 2013, 19:37

Impecable je te remercie presque tout fonctionne. Ya juste un soucis j'ai une cellule de calcul qui renvoie une heure au format [HH]:mm
et quand je copie la valeur de ma cellule dans le label elle la met en decimale dans ma concatenation opur le label.
une idée ?
Banzai64 a écrit :Bonjour
djez a écrit :Dans quoi je dois afficher ca ?
Généralement Zone de texte ou Label
djez a écrit :"Le calcul a retourné : " + nbrDemiJournee +" 5 demi journées
essayes plutôt (dans un Label)
Me.Label1.Caption = "Le calcul a retourné : " & nbrDemiJournee + 5 & " demi journées
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'690
Appréciations reçues : 5
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 13 janvier 2013, 21:50

Bonsoir
djez a écrit :j'ai une cellule de calcul qui renvoie une heure au format [HH]:mm
A quel moment tu utilises cette cellule ?

Un fichier en expliquant ce que tu souhaites obtenir serait préférable
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'367
Appréciations reçues : 398
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 13 janvier 2013, 23:25

Bonsoir,

utilise Format :
...=format(ta_valeur, "[hh]:mm")

eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
d
djez
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 4 janvier 2009
Version d'Excel : MAC 2008

Message par djez » 14 janvier 2013, 17:34

Alors en fait voila exactement ce que je veux faire:

je demande a l'utilisateur de saisir dans un textbox des heures et minutes exemple 35:24
Je click sur un bouton qui recupere cette valeur et la place en C5
De la, j'ai en C6 une valeur fixe : 4:06
En C7 une autre valeur fixe : 3:30
en C8 une formule qui cherche combien de fois il y a C5/C6 par la formule =arrondi.inf(C5/C6;0)
en C9 une formule qui cherche combien de fois il y a C5/C7 par la formule =arrondi.inf(C5/C7;0)

En D8 je calcul les heures restantes en faisant =C5-(C8*C6)
En D9 je calcul les heures restantes en faisant =C5=(C8*C7)

de la j'ai un deuxieme userform qui s'ouvre et devrait me placer dans deux labels les texte suivants:
"Il y a "& C8 &" fois 4:06 et il reste en heure " & D8
"Il y a "& C9 &" fois 3:30 et il reste en heure " & D9

Voici mon code mais ca ne fonctionne pas.
Private Sub CommandButton2_Click()
 
 'Je recupere la valeur de mon textbox que je place en C5'
 Range("C5").Value = TB_NBH 'A ce niveau il ne se met pas en [HH]:MM'
 
 'Je declare mes variables qui stockeront mes entiers aroondi.inf'
 Dim nbMat, nbAp As Integer
 
 'Je declare mes variables qui stockeront les heures restantes calculées'
 Dim heureMat, heureAp As Date
 
 'je recupere le calcul en C8 et C9'
 nbMat = Range("c8").Value
 nbAp = Range("c9").Value
 
 'je recupere le calcul des heures restantes en D8 et D9'
 heureMat = Range("D8").Value
 heureAp = Range("D9").Value
 
 'Je converti mes heures au format [HH]:MM'
 heureMat = Format(heureMat, "[H]:MM")
 heureAp = Format(heureAp, "[HH]:MM")

 
 'Je test mes valeurs par message box'
 MsgBox ("Voici le resultat en matiné " & nbMat & " et il restera en heure " & heureMat)
 
 
 
End Sub
Si vous avez un peu d'aide cr la je seche un peu ;)

Merci D'avance





eriiic a écrit :Bonsoir,

utilise Format :
...=format(ta_valeur, "[hh]:mm")

eric
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'367
Appréciations reçues : 398
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 14 janvier 2013, 17:48

Bonjour,
Un fichier en expliquant ce que tu souhaites obtenir serait préférable
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
d
djez
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 4 janvier 2009
Version d'Excel : MAC 2008

Message par djez » 14 janvier 2013, 17:53

Comment joindre un fichier ?
d
djez
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 4 janvier 2009
Version d'Excel : MAC 2008

Message par djez » 14 janvier 2013, 18:35

Voila le fichier en question en gros je cherche a calculer le nombre de fois 3:30 dans le textbox plus le restant en h:min et pareil pour le nombre de fois 4:06 plus le nombre d'heure restant
calcul demi journée.xls
(53.5 Kio) Téléchargé 230 fois
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'367
Appréciations reçues : 398
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 14 janvier 2013, 20:36

Bonjour,

lorsque tu écris Dim heureMat, heureAp As Date seule heureAp est Date, l'autre est Variant.
Il faut toutes les typer.

Comme elles sont typées Date tu n'as plus besoin de convertir.
....
 '[barrer]Je converti mes heures au format [HH]:MM'[/barrer]
' [barrer]heureAp = Format(heureAp, "[h]:mm:ss")[/barrer]

 
 'Je test mes valeurs par message box'
 MsgBox ("Voici le resultat en matiné " & nbAp & " et il restera en heure " & heureAp)
 Result.lab_ap = "Voici le resultat en matiné " & nbAp & " et il restera en heure " & heureAp
 Result.Show
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message