calcul d'heure intégré en vba

fr832

XLDnaute Occasionnel
Bonjour j'ai récupéré un programme excel et vba auquel j'essaye de l'adapter à mes besoins.
Voila via un userform je remplie une feuille excel et je souhaite intégéré un calcul d'heure.
en colonne C je saisie début du travail et en colonne D la fin du travail.
Je souhaite intégréen colonne F le temps total travaillé.

J'ai bien essayé le formule suivante en F3=D3-C3

Le problème est que lorsque j'efface des lignes ces formules sont effacées également.

Voila pourquoi je voudrais l'intégrer au code VBA

j'ai bien essayé formulaR1C1 mais je suis un peu largué la dessus.
J'ai vu également qu'on pouvait mettre formula mais je n'y comprend rien, merci d'avance pour votre aide.

Le code que j'utilise merci

Code:
Private Sub CommandButton1_Click()
' Mise en place des valeurs saisies
Dim Mois As Byte, tmp(21) As Variant
Mois = Month(DTPicker1)
With Sheets(Mois + 1)
DerLig = .Range("A65000").End(xlUp).Row + 1
tmp(0) = DTPicker1
tmp(1) = ComboBox1
tmp(2) = TextBox3
tmp(3) = TextBox4
tmp(4) = TextBox1
tmp(5) = .Cells(DerLig, 6).FormulaR1C1  ' Nécessaire pour ne pas effacer le contenu de cette cellule.
tmp(6) = ComboBox2
tmp(7) = ComboBox3
tmp(8) = ComboBox5
tmp(9) = TextBox2
tmp(10) = ComboBox4
tmp(11) = ComboBox6
tmp(12) = ComboBox7
tmp(13) = ComboBox8
tmp(14) = ComboBox9
tmp(15) = ComboBox10
tmp(16) = ComboBox11
tmp(17) = ComboBox12
tmp(18) = ComboBox13
tmp(19) = ComboBox14
tmp(20) = ComboBox15

.Range(.Cells(DerLig, 1), .Cells(DerLig, 1).Offset(0, 20)).Value = tmp
End With
' On décharge le formulaire
Unload Me
End Sub
 

fr832

XLDnaute Occasionnel
Re : calcul d'heure intégré en vba

bonsoir kjin et merci pour ton aide dois je rédiger le code comme ceci?
Code:
tmp(5) = .Cells(DerLig, 6).Format(CDate(TextBox4) - CDate(TextBox3), "hh:mm")
car pour moi comme ça ça bugg merci pour tes lumières, amitiés
 

kjin

XLDnaute Barbatruc
Re : calcul d'heure intégré en vba

Re,
Comme tu n'en dis pas plus...
Code:
tmp(3) = cDate(TextBox4)
tmp(4) = cDate(TextBox1)
tmp(5) = Format(CDate(TextBox1) - CDate(TextBox4), "hh:mm")
en contrôlant les erreurs auparavant (tbx vide, format...)
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 333
Membres
103 519
dernier inscrit
Thomas_grc11