bonjour à tous,
Je reviens vers vous afin de solliciter une fois de plus votre aide.
Lorsque je rentre un Code Postal dans mon tableau à l'aide de mon UserForm, lors de l'inscriptiondans le tableau, il m'affiche donnée en format texte. Comme lui indiqué que le format doit être numérique, puisque c'est du nombre qui est entré?
Autre problème que je n'arrive pas à résoudre: Comment calculer le temps écoulé entre deux Heures en (Heure d'Arrivée-Heure de Départ)? Le résultat doit être en numérique puisque je vais utiliser le résultat pour le multiplier par le coût de l'heure.
Milles merci pour vos réponses.
A très vite.
Pour le format du code postal, quand tu charges la valeur à partir du UserForm:
Cellule.Value = CLng(me.TextBox1.Text)
Cellule.NumberFormat = "00000" ou Cellule.NumberFormat = "00 000" selon ce que tu veux.
Pour les heures qui sont chez toi dans des formats différents (String 15H30 ou Date 15:45) il faut d'abord que tu choisisses quel format tu utilises de manière générale dans ton fichier. Ensuite pour calculer le coût du temps passé sur la base d'un coût horaire il faut transformer les heures en décimal puis faire la différence et multiplier par le coût horaire.
TempsString = 15H30 => en décimal 10.50
TempsSingle = Heure + (Minutes / 60) par exemple 15 + 30/60 = 15.50
TempsSingle = Left(TempsString, 2) + Right(TempsString, 2) / 60
Pour le format du code postal, quand tu charges la valeur à partir du UserForm:
Cellule.Value = CLng(me.TextBox1.Text)
Cellule.NumberFormat = "00000" ou Cellule.NumberFormat = "00 000" selon ce que tu veux.
Pour les heures qui sont chez toi dans des formats différents (String 15H30 ou Date 15:45) il faut d'abord que tu choisisses quel format tu utilises de manière générale dans ton fichier. Ensuite pour calculer le coût du temps passé sur la base d'un coût horaire il faut transformer les heures en décimal puis faire la différence et multiplier par le coût horaire.
TempsString = 15H30 => en décimal 10.50
TempsSingle = Heure + (Minutes / 60) par exemple 15 + 30/60 = 15.50
TempsSingle = Left(TempsString, 2) + Right(TempsString, 2) / 60
Merci d'avoir répondu à ma demande.
J'attire ton attention sur le fait que je suis totalement novice en vba.
Aussi, je n'ai pas réussi à mettre en oeuvre ta solution.
Ce que je voudrais c'est que la TextBox "Total heures" affiche automatiquement le résultat entre "Heure Départ" et "Heure d'Arrivée".
Si tu pouvais me renvoyer le fichier corrigé, cela me permettra de comprendre le process, et pouvoir ainsi le reproduire si besoin.
Merci milles fois
Merci d'avoir répondu à ma demande.
J'ai testé ta solution, mais elle ne fait pas le calcul lorsque j'insère une nouvelle ligne dans le tableau.
Ta solution est intéressante mais j'aurais aimé que lorsque les heures de départ et les heures d'arrivée sont saisies dans l'UserForm, le "Total Heures" s'affiche automatiquement.
Concernant le Code Postal, là aussi, j'aurais aimé pouvoir éviter les formules directement dans les cellules. Une fois saisie dans l'UserForm, les cellules du tableau se mettent à jour.
Est-il possible d'utiliser la fonction "DateDiff" dan un code vba? Si oui comment faire.
Merci milles fois