Comment appeler une fonction a partir d'une autre

Fermé
josianneb - 3 juin 2013 à 04:14
JosianneB Messages postés 12 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 5 juin 2013 - 5 juin 2013 à 18:04
Bonjour,





J'ai créé cette fonction :


Function ratio()

Dim N As Integer
Dim i As Integer
Dim zone As Range


Set zone = Range("C1").CurrentRegion
N = zone.Rows.Count

For i = 1 To N

If zone.Cells(i, 1) > zone.Cells(i, 2) Then
zone.Cells(i, 3) = zone.Cells(i, 2) / zone.Cells(i, 1)
Else

If zone.Cells(i, 2) > zone.Cells(i, 1) Then
zone.Cells(i, 3) = zone.Cells(i, 1) / zone.Cells(i, 2)

End If
End If
Next


End Function

et j'aimerais en créer une seconde qui appellera cette fonction (la fonction ratio) et retournera 1 moins le résultat de l'appel de la fonction ratio. J'ai réussi a utiliser la fonction ratio en mettant un certain nombre de chiffre dans la colonne A et B d'une feuille Excel et a retourner les résultats dans la troisième colonne et je voulais prendre les valeurs trouvées dans la colonne C et enlever 1. Est-ce que quelqu'un peut m'aider.
Merci
A voir également:

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié par Patrice33740 le 5/06/2013 à 00:35
Cette fonction n'est pas une fonction, elle ne renvoie aucun résultat, c'est une procédure.

Pour plus d'informations sur les procédures et les fonctions, consulter cet excellent cours VBA pour débutants (et autres) page 29 :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Cordialement
Patrice
0
JosianneB Messages postés 12 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 5 juin 2013
5 juin 2013 à 18:04
Merci pour l'information !

Je suis bloquée sur une autre question. Voila, j'ai des données dans un tableau dans la colonne A qui sont en lien avec des données de la colonne C, j'ai créé des inputbox pour demander à l'utilisateur d'insérer deux valeurs de la colonne A. Ma sous-routine cherche les valeurs de la colonne A demandées par l'utilisateur et les lies aux valeurs de la colonne C associée. J'aimerais à l'aide d'une boucle While Wend, multiplier les valeurs de la colonne B qui se situes entre les deux valeurs choisies initialement. Je ne sais pas comment utiliser la boucle while wend pour faire ceci. Est-ce que vous pouvez m'orienter. Merci


Public Sub test()


Dim celluletrouvee As Range

valeurage1 = InputBox("La premiere valeur d'âge est:")

Set celluletrouvee = Range("A1:A5").Find(valeurage1, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
MsgBox ("La valeur d'âge n'apparaît pas dans le tableau")
Else
valeurage1 = InputBox("La première valeur d'âge est:")
Set cel1 = Cells(celluletrouvee.Row, celluletrouvee.Column + 2)
End If

valeurage2 = InputBox("La deuxième valeur d'âge est:")

Set celluletrouvee = Range("A1:A5").Find(valeurage2, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
MsgBox ("La valeur d'âge n'apparaît pas dans le tableau")
Else
Set cel2 = Cells(celluletrouvee.Row, celluletrouvee.Column + 2)
End If

End Sub
0