Erreur compilation ptite fonction vb
Fermé
marina
-
14 nov. 2007 à 21:06
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 15 nov. 2007 à 07:59
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 15 nov. 2007 à 07:59
A voir également:
- Erreur compilation ptite fonction vb
- Fonction si et - Guide
- Erreur 0x80070643 - Accueil - Windows
- Vb - Télécharger - Langages
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Vb cable - Télécharger - Audio & Musique
1 réponse
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 256
15 nov. 2007 à 07:59
15 nov. 2007 à 07:59
Bonjour,
Je ne pratique pas VB mais VBA, il y aura peut-être des petites différences.
Je dirais déjà que z doit être optionnel car tu l'appelles ensuite avec 2 parametres donc:
..., Optional ByVal z As Long) As Long
D'autre part ta fonction est récursive (elle s'appelle elle même) et il n'y a pas de condition de sortie.
Ex avec (5,8,2)
If 5 > 8 Then ' faux
lePlusGrandDes3 = lePlusGrandDes3(x, z)
Else
lePlusGrandDes3 = lePlusGrandDes3(y, z) 'ce test là est positif
donc appel suivant avec (8,2)
If 8 > 2 Then ' vrai
lePlusGrandDes3 = lePlusGrandDes3(x, z) ' et tu appelles à nouveau ta fonction
Je pense que tu dois tester l'absence du parametre z optionnel (de tete je ne sais sais plus comment) et dans ce cas sortir avec:
if x > y
lePlusGrandDes3 = x
else
lePlusGrandDes3 = y
endif
eric
Je ne pratique pas VB mais VBA, il y aura peut-être des petites différences.
Je dirais déjà que z doit être optionnel car tu l'appelles ensuite avec 2 parametres donc:
..., Optional ByVal z As Long) As Long
D'autre part ta fonction est récursive (elle s'appelle elle même) et il n'y a pas de condition de sortie.
Ex avec (5,8,2)
If 5 > 8 Then ' faux
lePlusGrandDes3 = lePlusGrandDes3(x, z)
Else
lePlusGrandDes3 = lePlusGrandDes3(y, z) 'ce test là est positif
donc appel suivant avec (8,2)
If 8 > 2 Then ' vrai
lePlusGrandDes3 = lePlusGrandDes3(x, z) ' et tu appelles à nouveau ta fonction
Je pense que tu dois tester l'absence du parametre z optionnel (de tete je ne sais sais plus comment) et dans ce cas sortir avec:
if x > y
lePlusGrandDes3 = x
else
lePlusGrandDes3 = y
endif
eric