Bonsoir
dbott wrote > > Est-ce que tu connais une méthode pour tester si l'objet a une propriété > (value dans notre cas) avec de l'utiliser? Désolé pour le délai... avec le "dynamisme" de la liste je n'ai pas vu tout de suite ce complément de demande... Tout d'abord une réponse de principe. On peut bien sûr tenter de tout prévoir dans une seule procédure mais il faut aussi essayer, AMHA, de ne pas faire une procédure "usine à gaz" qui pourrait se révéler plus difficile à mettre au point ou maintenir que des "composants" dédiés à une fonction spécifique. Ceci étant ta remarque est légitime puisque je suppose que tu envisages d'utiliser la fonction dans le tableau et de pouvoir lui passer soit une cellule, soit une plage. Pour différencier une plage d'une feuille tu peux utiliser la propriété ImplementationName : "ScVbaRange" ou "SvVbaRange" (selon que la plage est passée depuis la procédure Main ou via l'appel depuis le tableau), ScVbaWorksheet s'il l'objet est une feuille. Dans le cas d'une plage, il faut encore traiter le cas particulier de la plage d'une seule cellule (seul cas où la propriété Value est disponible et a du sens). Tu peux utiliser pour cela isArray(PysObj.value) qui va indiquer si la propriété contient un tableau (plage) ou non (cellule). Puisque tu souhaites gérer ces cas de figure différents, j'ai modifié la procédure Main qui tentait d'afficher la valeur de l'objet à côté du type. Ceci n'est bien sûr pas possible pour les plages ou une feuille... Pour terminer, il semble que les fonctions de ce type ne soient pas recalculées à l'ouverture dans LibO. Encore une fois je ne programme plus en VBA depuis des années et je passe peut-être à côté de quelque chose. Application.Volatile, en principe prévu pour cela semble n'être pas pris en compte. J'ai donc ajouté une procédure forçant le recalcul via Application.Calculate, déclenchée à l'ouverture du classeur. http://nabble.documentfoundation.org/file/n3751117/VBATestVarType.ods VBATestVarType.ods PS : j'ajoute aussi qu'il serait beaucoup plus simple en LibOBasic "pur" de tester ces différents cas via les services supportés Cordialement Pierre-Yves -- View this message in context: http://nabble.documentfoundation.org/macro-Vartype-sur-une-cellule-dans-une-fonction-tp3738878p3751117.html Sent from the Users mailing list archive at Nabble.com. -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés