XL 2013 Erreur 13: Incompatibilité de Type

  • Initiateur de la discussion Initiateur de la discussion pierrof
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pierrof

XLDnaute Occasionnel
Bonjour,

J'ai voulu adapté un code pur une version d'Excel 2013 mais j'ai un message d'erreur qui apparait: Erreur 13: Incompatibilité de Type, avec comme code surligné:
Range("AA" & n) = Hour(Range("K" & n) - Range("J" & n)) * 60

Je pense que cela vient de ma fonction hour...

Si vous vous avez des conseils je suis preneur.

Merci
Cordialement
 
Bonjour
Je pense que cela vient de ma fonction hour...
La moindre des choses (puisque tu le penses) serait alors de nous montrer le code de cette fonction. Qu'en penses-tu ?
Sans préjudice (au passage) de ce que Hour est déjà une fonction de VBA....(et donc pas la tienne) et que cette fonction n'utilise qu'un seul paramètre, de type date et non de type numérique (ce qu'est la différence entre deux dates). 🙂
 
Bonjour Jmfmarques,
Voici le code qui me permet de calculer des heures (dans la colonne K et J j'ai mes heures de debut et de fin):
'Calul de la durée
'heure
For n = 2 To Range("A20000").End(xlUp).Row
Range("AA" & n) = Hour(Range("K" & n) - Range("J" & n)) * 60
Next n
'minute
For n = 2 To Range("B20000").End(xlUp).Row
Range("AB" & n) = Minute(Range("K" & n) - Range("J" & n))
Next n
For n = 2 To Range("B20000").End(xlUp).Row
Range("AC" & n) = (Range("AA" & n) + Range("AB" & n)) / 60
Next n

Voilà
 
Ce n'est donc pas TA fonction Hour, mais celle de VBA.
Cette fonction doit recevoir en paramètre une date/heure ou une heure, pas une différence (qui serait un simple numérique)
On prend par ailleurs la bonne habitude de toujours déclarer la propriété que l'on utilise (Range("...") .Value)
Enfin et surtout : l'utilisation toute bête de la fonction Datediff de VBA te permet d'extraire d'un seul coup la durée, dans les unités de ton choix, entre deux date/time. Utilise-la donc, plutôt que de réinventer l'eau chaude.
Sans compter que l'utilisation de Excel seul (formule) serait ici suffisante (pas de VBA nécessaire).
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
401
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
144
D
Réponses
4
Affichages
308
DidPouAxi
D
Réponses
9
Affichages
580
Retour