Membre de méthode ou de données introuvable [Résolu/Fermé]

Signaler
Messages postés
16
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
15 décembre 2014
-
Messages postés
23989
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 avril 2021
-
Bonjour,
J'essaye de faire un programme sous VBA et je rencontre un petit problème pour la sélection aléatoire d'un nombre. Voilà ma ligne de code (que j'ai copier depuis l'aide d'excel)

k = CInt(Math.Floor((TabFamille(i).indexmax - TabFamille(i).indexmin + 1) * Rnd())) + TabFamille(i).indexmin

k étant un entier, TabFamille(i).indexmax et TabFamille(i).indexmin également. Ces derniers correspondent à des lignes sur une feuille excel. Quand je compile, j'ai le message d'erreur "Membre de méthode ou de données introuvable" et le mot "Floor" est surligné. Si je mets Round à la place je n'ai pas d'erreur mais ça posera problème quand j'aurai un nombre aléatoire supérieur à 0,5 car ça dépassera les bornes de mon tableau.
Quelqu'un sait-il d'où vient le problème?

Merci d'avance
Claire

4 réponses

Messages postés
14779
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 avril 2021
283
Quelle version d'Office ?

As-tu essayé de mettre "VBA." devant (je crois que j'avais corrigé comme ça), regardes dans l'explorateur d'objet (touche F2)
Messages postés
16
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
15 décembre 2014

Office 2010. Si je mets VBA il le reconnait mais ça m'affiche quand même la même erreur. Et quand je recherche cette fonction dans l'explorateur d'objet il ne le trouve pas. Si je tape Math.Floor ou VBA.Math.Floor il ne trouve rien...
Messages postés
23989
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 avril 2021
6 718
Bonjour,

Application.Floor()

eric
Messages postés
16
Date d'inscription
mardi 9 décembre 2014
Statut
Membre
Dernière intervention
15 décembre 2014

ça me met une nouvelle erreur: "nombre d'arguments non valide". Mais j'ai trouvé, j'utilise la fonction Int(). J'avais lu sa description sur un forum et j'ai dû mal comprendre, je croyais que ça arrondissait (même problème que Round du coup) alors qu'en fait il ne garde que la partie entière, donc il tronque.

Merci de vous être penché sur mon problème,
Claire.
Messages postés
23989
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 avril 2021
6 718
Oui, Floor a besoin de 2 arguments : nombre et multiple auquel tu veux arrondir.
Ce n'est pas le même rôle que int() ou round()