Utilisation des arg d'une fonction VBA

Fermé
coetquidan Messages postés 2 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 18 janvier 2008 - 17 janv. 2008 à 14:43
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 18 janv. 2008 à 17:25
Bonjour,
j'ai cree une fonction VBA du style:

Fonction duration(date1, date2)

en rentrant cette fonction dans une cellule de la feuille 1 je voudrai copier les 2 arguments de la fonction dans 2 autres cellules d'une autre feuille (feuille 2) pour realiser une formule dans cette feuille 2.

ensuite, j'aimerais que le resultat de la formule de cette feuille 2 soit le resultat de ma fonction VBA dans ma feuille 1.

et bien sur j'aimerais que cette fonction VBA fonctionne sur plusieurs cellule de ma feuille 1.

est ce possible?

pourriez vous m'aider?

merci d'avance.
A voir également:

3 réponses

coetquidan Messages postés 2 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 18 janvier 2008 2
18 janv. 2008 à 14:58
les deux arguments de la fonction viennent de 2 cellules de la feuille 1...
2
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
17 janv. 2008 à 18:17
Bonjour,

D'où proviennent les 2 arguments que tu passes en paramètre à ta fonction ?
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
18 janv. 2008 à 17:25
bonjour,

Il faut que ta fonction retourne un résultat. Admettons que les valeurs de date1 et date2 soient dans la feuille 1 dans les cellules A2 et A3 et que tu veux recopier ces valeurs dans les mêmes cellules de la feuille 2 et que le total des 2 valeurs soient dans la cellule A5 de la feuille 2. Tu tapes le code ci dessous dans un module de l'éditeur Visual Basic (F11). Ensuite tu te places dans la cellule A5 de la feuille 2. Tu ouvres les fonctions et tu choisis fonctions personnalisées ... tu cliques sur duration et tu saisies les deux cellules en argument.

Function duration(var1, var2) As variant
worksheets(2).Range("A2").Value = var1
worksheets(2).Range("A3").Value = var2

duration = var1 + var2 'tu mets ici ce que dois faire ta fonction...

End Function
0