bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule ou le
resultat doit etre inscrit (toute les cellules sont dans une meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes données)et
en validant le resultat s'inscrit dans la cellule selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule ou le
resultat doit etre inscrit (toute les cellules sont dans une meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes données)et
en validant le resultat s'inscrit dans la cellule selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule ou le
resultat doit etre inscrit (toute les cellules sont dans une meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes données)et
en validant le resultat s'inscrit dans la cellule selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule ou le
resultat doit etre inscrit (toute les cellules sont dans une meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes données)et
en validant le resultat s'inscrit dans la cellule selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule ou le
resultat doit etre inscrit (toute les cellules sont dans une meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes données)et
en validant le resultat s'inscrit dans la cellule selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule ou le
resultat doit etre inscrit (toute les cellules sont dans une meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes données)et
en validant le resultat s'inscrit dans la cellule selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lStephbonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lSteph
bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lStephbonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Pour aller dans le sens de LSteph, il suffit c'est vrai de passer par
activecell ( je ne dois pas avoir les yeux en face des trous ce matin).
Cependant, toujours pour continuer , si dans ton tetxbox, tu veux taper
une formule ( on ne voit pas bien pourquoi, m'enfin après tout !!), il
faudra la taper en Americain pour qu'elle soit comprise lors de
l'exécution.Exemple
pour que dans ta cellule le texte SOMME(F1:F4) soit compris et exécuté
dans la foulée, il faudra écrire SUM(F1:F4)et ne pas omettre d'écrire
activecell.offset(1,0).activate pour permettre de sortir de la cellule
pour que la formule soit exécutée.
A+Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lStephbonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Pour aller dans le sens de LSteph, il suffit c'est vrai de passer par
activecell ( je ne dois pas avoir les yeux en face des trous ce matin).
Cependant, toujours pour continuer , si dans ton tetxbox, tu veux taper
une formule ( on ne voit pas bien pourquoi, m'enfin après tout !!), il
faudra la taper en Americain pour qu'elle soit comprise lors de
l'exécution.Exemple
pour que dans ta cellule le texte SOMME(F1:F4) soit compris et exécuté
dans la foulée, il faudra écrire SUM(F1:F4)et ne pas omettre d'écrire
activecell.offset(1,0).activate pour permettre de sortir de la cellule
pour que la formule soit exécutée.
A+
Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lSteph
bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Pour aller dans le sens de LSteph, il suffit c'est vrai de passer par
activecell ( je ne dois pas avoir les yeux en face des trous ce matin).
Cependant, toujours pour continuer , si dans ton tetxbox, tu veux taper
une formule ( on ne voit pas bien pourquoi, m'enfin après tout !!), il
faudra la taper en Americain pour qu'elle soit comprise lors de
l'exécution.Exemple
pour que dans ta cellule le texte SOMME(F1:F4) soit compris et exécuté
dans la foulée, il faudra écrire SUM(F1:F4)et ne pas omettre d'écrire
activecell.offset(1,0).activate pour permettre de sortir de la cellule
pour que la formule soit exécutée.
A+Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lStephbonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Bonjour anonymousA,
;o)
en s'y mettant à deux on va finir par faire un truc à peu près complet!
@+
lStephPour aller dans le sens de LSteph, il suffit c'est vrai de passer par
activecell ( je ne dois pas avoir les yeux en face des trous ce matin).
Cependant, toujours pour continuer , si dans ton tetxbox, tu veux
taper une formule ( on ne voit pas bien pourquoi, m'enfin après tout
!!), il faudra la taper en Americain pour qu'elle soit comprise lors
de l'exécution.Exemple
pour que dans ta cellule le texte SOMME(F1:F4) soit compris et exécuté
dans la foulée, il faudra écrire SUM(F1:F4)et ne pas omettre d'écrire
activecell.offset(1,0).activate pour permettre de sortir de la cellule
pour que la formule soit exécutée.
A+Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lStephbonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Bonjour anonymousA,
;o)
en s'y mettant à deux on va finir par faire un truc à peu près complet!
@+
lSteph
Pour aller dans le sens de LSteph, il suffit c'est vrai de passer par
activecell ( je ne dois pas avoir les yeux en face des trous ce matin).
Cependant, toujours pour continuer , si dans ton tetxbox, tu veux
taper une formule ( on ne voit pas bien pourquoi, m'enfin après tout
!!), il faudra la taper en Americain pour qu'elle soit comprise lors
de l'exécution.Exemple
pour que dans ta cellule le texte SOMME(F1:F4) soit compris et exécuté
dans la foulée, il faudra écrire SUM(F1:F4)et ne pas omettre d'écrire
activecell.offset(1,0).activate pour permettre de sortir de la cellule
pour que la formule soit exécutée.
A+
Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lSteph
bonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
Bonjour anonymousA,
;o)
en s'y mettant à deux on va finir par faire un truc à peu près complet!
@+
lStephPour aller dans le sens de LSteph, il suffit c'est vrai de passer par
activecell ( je ne dois pas avoir les yeux en face des trous ce matin).
Cependant, toujours pour continuer , si dans ton tetxbox, tu veux
taper une formule ( on ne voit pas bien pourquoi, m'enfin après tout
!!), il faudra la taper en Americain pour qu'elle soit comprise lors
de l'exécution.Exemple
pour que dans ta cellule le texte SOMME(F1:F4) soit compris et exécuté
dans la foulée, il faudra écrire SUM(F1:F4)et ne pas omettre d'écrire
activecell.offset(1,0).activate pour permettre de sortir de la cellule
pour que la formule soit exécutée.
A+Bonjour,
(au vu de cela plus simple a priori serait de créer une formule
ou une fonction
mais c'est sans doute pour essayer le userform)
Pour faire apparaître un userform sur Dbclick en A:A
(clic droit sur l'onglet de la feuille , visualiser le code)
Coller ceci dans le module qui apparaît et fermer VBE:
'''''
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then UserForm1.Show
End Sub
'''''
Ensuite:
Tu ne parles pas de ton calcul dans le userform??!!
Supposons donc un exemple où le calcul
se fait sans doute à partir de textbox
dans vbe
(clic droit sur le userform...dans le code coller ceci:)
Private Sub CommandButton1_Click()
ActiveCell = Val(TextBox1) + Val(TextBox2) _
* Val(TextBox3)
Unload Me
End Sub
Cdlt.
lStephbonjour le forum
dans mon tableau j'ai un calcul d'heure de travail à faire
j'ai cree un userform de calcul
je voudrais appeler cet userform en double cliquant dans la cellule
ou le resultat doit etre inscrit (toute les cellules sont dans une
meme colonne)
ex: en A1 je double clique mon userform apparait (je rentre mes
données)et en validant le resultat s'inscrit dans la cellule
selectionnée.
quel est le code pour obtenir ce resultat
merci de votre aide et bon dimanche
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
merci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
merci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
merci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
j'ai donc entre ce code dans mon userform:
Private Sub B_Validation_Click()
Calcul_2
ActiveCell = Format(CDate(Me.Total_heures_travaillées))
Unload Me
End Sub
et cela fonctionne
mais j'ai un soucis pour faire apparaitre mon userform
j'ai rentre ce code dans ma feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then calcul_heure.Show
End Sub
(calcul_heure étant le nom de mon userform)mais cela ne fonctionne pasmerci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
j'ai donc entre ce code dans mon userform:
Private Sub B_Validation_Click()
Calcul_2
ActiveCell = Format(CDate(Me.Total_heures_travaillées))
Unload Me
End Sub
et cela fonctionne
mais j'ai un soucis pour faire apparaitre mon userform
j'ai rentre ce code dans ma feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then calcul_heure.Show
End Sub
(calcul_heure étant le nom de mon userform)mais cela ne fonctionne pas
merci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
j'ai donc entre ce code dans mon userform:
Private Sub B_Validation_Click()
Calcul_2
ActiveCell = Format(CDate(Me.Total_heures_travaillées))
Unload Me
End Sub
et cela fonctionne
mais j'ai un soucis pour faire apparaitre mon userform
j'ai rentre ce code dans ma feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then calcul_heure.Show
End Sub
(calcul_heure étant le nom de mon userform)mais cela ne fonctionne pasmerci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
j'ai donc entre ce code dans mon userform:
Private Sub B_Validation_Click()
Calcul_2
ActiveCell = Format(CDate(Me.Total_heures_travaillées))
Unload Me
End Sub
et cela fonctionne
mais j'ai un soucis pour faire apparaitre mon userform
j'ai rentre ce code dans ma feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then calcul_heure.Show
End Sub
(calcul_heure étant le nom de mon userform)mais cela ne fonctionne pasmerci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
j'ai donc entre ce code dans mon userform:
Private Sub B_Validation_Click()
Calcul_2
ActiveCell = Format(CDate(Me.Total_heures_travaillées))
Unload Me
End Sub
et cela fonctionne
mais j'ai un soucis pour faire apparaitre mon userform
j'ai rentre ce code dans ma feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then calcul_heure.Show
End Sub
(calcul_heure étant le nom de mon userform)mais cela ne fonctionne pas
merci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph
j'ai donc entre ce code dans mon userform:
Private Sub B_Validation_Click()
Calcul_2
ActiveCell = Format(CDate(Me.Total_heures_travaillées))
Unload Me
End Sub
et cela fonctionne
mais j'ai un soucis pour faire apparaitre mon userform
j'ai rentre ce code dans ma feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range, Cancel As Boolean)
If Target.Column = 1 Then calcul_heure.Show
End Sub
(calcul_heure étant le nom de mon userform)mais cela ne fonctionne pasmerci bcp pour votre implication
je vais essayer de suivre vos conseils
pour information je vous livre le code de mon userform
Private Sub UserForm_Initialize()
temps_de_repos.AddItem "0"
temps_de_repos.AddItem "1"
temps_de_repos.AddItem "2"
Me.temps_de_repos = "0"
Me.total_heure_de_repas = "0.00"
End Sub
Private Sub heure_de_repas_Click()
If Me.heure_de_repas Then
Me.total_heure_de_repas = "1.00"
End If
If Not Me.heure_de_repas Then
Me.total_heure_de_repas = "0.00"
End If
End Sub
Private Sub temps_de_repos_Change()
If Me.temps_de_repos = 0 Then
Me.total_temps_de_repos = "00.00"
End If
If Me.temps_de_repos = 1 Then
Me.total_temps_de_repos = "0.10"
End If
If Me.temps_de_repos = 2 Then
Me.total_temps_de_repos = "0.20"
End If
End Sub
Private Sub total_heure_de_repas_Change()
Calcul_2
End Sub
Private Sub total_temps_de_repos_Change()
Calcul_2
End Sub
Private Sub Heure_debut_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_debut) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_debut_Change()
Calcul
End Sub
Private Sub heure_fin_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.heure_fin) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub
Private Sub heure_fin_Change()
Calcul
End Sub
Sub Calcul()
If IsDate(Me.heure_debut) And IsDate(Me.heure_fin) Then
Me.sous_total = Format(((CDate(Me.heure_debut)) * 24 * 60 -
CDate(Me.heure_fin) * 24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
Sub Calcul_2()
If IsDate(Me.sous_total) And IsDate(Me.total_heure_de_repas) And
IsDate(Me.total_temps_de_repos) Then
Me.Total_heures_travaillées = Format(((CDate(Me.sous_total)) * 24 * 60 -
CDate(Me.total_temps_de_repos) * 24 * 60 - CDate(Me.total_heure_de_repas) *
24 * 60) / (24 * 60), "hh:mm")
End If
End Sub
....suite, précision
dans l'exemple j'ai pris un calcul quelconque et
utilisé val et n'ai pas mis de format de cellule
Il est bien évident que selon ton propre calcul et le type de données
utilisées cela restera à adapter, sachant qu'un textbox contient du
texte et que pour le calcul il faudra sans doute convertir comme le
suggère Anonymous et aussi , penser que la cellule envisage la donnée en
standard selon ce qui sort de vba. Il peut donc être nécessaire de
forcer un format de cellule après rstitution de la donnée.
Il conviendra également de s'assurer que les textbox sont remplis avant
d'autoriser la commande.
Cdlt.
lSteph