|
|
|
|
Je suis ravi de me faire membre de votre site CommentCaMarche.net. Voici ma question
j'ai réalisé un Programme en VBA sous excel qui répond à la question suivante: calculer le Nombre Total d'Heures de Cours Effectuées sur l'Ensemble de l'Université ?
Lorsque j'ai rélisé mon code source l'affichage dans la textbox est différente de ce que la cellue g2 m'affiche alors qu'en g2 j'ai 84:45 dans la textbox j'ai 12:45 c'est vrai que j'ai changé le format de la cellule en [h]:mm. voici mon code.
Private Sub CmdTrait_Click()
'déclaration des variables mémoires
Dim vm
Dim mytime
'sélection de la feuille horaire
Sheets("HORAIRE").Select
'recherche de ligne vide
x = 1
While Cells(x, 1) <> ""
x = x + 1
Wend
'une variable mémoire récupère la ligne vide puis la soustrait de 1
LigneNonVide = x - 1
' boucle For...Next
For i = 2 To LigneNonVide
' soustraction de la colonne b et a
Range("c" & i) = Range("b" & i) - Range("a" & i)
Next i
' somme da la colonne c puis valeur récupérée en g2
Range("g2") = "=Sum(c2:" & Range("c2").End(xlDown).Address & ")"
mytime = Range("g2")
'voici la ou se trouve le problème la textebox n'arrive pas à récuperer la somme des heures
' mais plutôt il le convertie ce que je ne veut pas.Sur la cellule g2 il trouve 84:45
' puisque j'ai amené le format de la cellule à [h]:mm
' mais dans la textbox il écrit 12:45 alors que moi je veux qu'il écrive 84:45.
TextBox1.Value = Format(mytime, "h: mm")
vm = TextBox1.Value
MsgBox "Le Nombre Total d'Heures de Cours Effectuées sur l'Ensemble de l'Université est:" & " " & vm & ""
' Msg = Msg & Format(Range("g2"), "hh:mm")
' MsgBox Msg
'Unload Me
End Sub
Configuration: Windows XP Firefox 2.0.0.6
Répondre à Sir_DEC
|
Bonjour
TextBox1.Value = Format(mytime, "[hh]: mm") cela devrait fonctionner. Ensuite si tu modifies la texbox, il suffit de le refaire dans l'événement change. Sinon, on regarderas de plus près : tu nous dis... toujours zen
|
Bonjour,
TextBox1.Value = Range("g2").Text
à condition bien sûr que ta cellule "g2" soit au format "[hh]: mm" que tu peux assurer par le code : Range("g2").NumberFormat = "[hh]:mm"
à mettre avant l'affichage bien sûr ! Désolé mais je me suis laissé piégé en répondant vite... toujours zen
|
Bonjour
|