Erreur VBA

Fermé
Zooloo- Messages postés 44 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 16 mai 2018 - 8 nov. 2015 à 22:01
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 - 9 nov. 2015 à 23:31
Bonjour,



Quelqu'un peut il me dire l'erreur :


Function temps_moins_pauses(t As Variant) As Variant



Dim t1 As Variant

Dim t2 As Variant

t1 = Range("E9")
t2 = Range("F9")

If "14:00:00" = t1 Then
temps_moins_pauses = t - 0.00694444444
Else
temps_moins_pauses = t
End If

End Function

Merci

6 réponses

Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
8 nov. 2015 à 23:22
Bonjour,
Quelle est le message d'erreur .... ?
Quelle ligne du code est surlignée en jaune... ?
A quoi vous sert le T2 .... Pas utilisé dans le code... ?

0
Zooloo- Messages postés 44 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 16 mai 2018
9 nov. 2015 à 00:35
j'utiliserai t2 plus tard...
la fonction marche avec un nombre entier comme 2 par exemple mais pas avec une heure type 14:00:00..
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
9 nov. 2015 à 14:24
Bonjour,
Merci de votre réponse.
Concerne : nombre entier, Il ne faut pas oublier ceci :
Les années, mois et jours sont identifiées par les nombres entiers (base 1 = 01.01.1900)
Et les heures, minutes et secondes quant à elles sont identifiées par les décimales de 0 à 0,99999 (exemple: 0.0104166666666667 = 15 minutes)
Conséquence : pour chaque nombre entier le temps sera toujours de 00 :00 :00

Salutations.
Le Pingou
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
9 nov. 2015 à 08:32
Bonjour,

Essaie comme cela
Function temps_moins_pauses(t As Variant) As Variant
Dim t1 As Variant
'Dim t2 As Variant
Application.Volatile
t1 = Range("E9")
't2 = Range("F9")
If TimeValue("14:00:00") = t1 Then
temps_moins_pauses = t - 0.00694444444
Else
temps_moins_pauses = t
End If
End Function

A+
0
Zooloo- Messages postés 44 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 16 mai 2018
9 nov. 2015 à 21:26
Ca ne fonctionne pas non plus...

Je pense que Gyrus est proche avec TimeValue("14:00:00")
Je ne sais pas a quoi sert le Application.Volatile...
J'ai aussi essayé en remplacant 0.00694444444 par TimeValue("00:10:00") mais sans résultat.
Si quelqu'un a une autre proposition , je suis preneur...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
9 nov. 2015 à 22:46
Bonsoir,
Merci, désolé
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
9 nov. 2015 à 22:50
Bonsoir,

Application.Volatile sert à accélérer ou activer le calcul

ensuite il serait bon bon d'avoir un bout de ton fichier anonymisé que l'on voit sa structure, il doit y avoir certainement un problème de format de nombre

pour joindre un fichier, à partir de ce lien
https://www.cjoint.com/
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
9 nov. 2015 à 23:31
Bonsoir Mike-31,
C'est certain qu'il s'agit de format (poste 4) sans la moindre réponse alors.....!
Salutations
Le Pingou
0