Bonjour tout le monde,
Après lecture du lien ci-dessous (et je dois l'avouer, peu de compréhension de ce qui y est décrit), je me décide à poster pour vous expliquer mon problème.
http://silkyroad.developpez.com/VBA/LesVariables/#LIV
J'ai créé une bête fonction dont l'objectif est de renvoyer le numéro de la dernière ligne non vide d'un tableau :
Dans une procédure, je trouve la valeur de cette dernière ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Function derniereLigneOccupee(cel As range) derniereLigneOccupee = cel.End(xlUp).Row End Function
et je me sers du résultat dans une autre fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part dlo = derniereLigneOccupee(range("B10"))
dont le code est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part calculSommeDistanceModePose(dlo)
L'erreur renvoyée par Excel lors de l'exécution de la macro est le classique "type d'argument byref incompatible"..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Function calculSommeDistanceModePose(nomb As Integer) calculSommeDistanceModePose = 0 For i = 1 To nomb calculSommeDistanceModePose = calculSommeDistanceModePose + range("B4").Offset(i - 1 - 4, 0).Value * range("d4").Offset(i - 1 - 4, 0).Value Next i End Function
Je ne trouve pas d'où provient l'erreur, d'autant plus que l'utilisation du résultat "dlo" ne pose aucun souci quand je l'utilise avec une autre fonction..
Merci d'avance de vos explications![]()
Partager