Passage de parametre
Le
Brat'ac

Bonjour,
Soit une fonction perso
Function titi(champ as range)
.. calcul
End funtion
Dans une cellule pas de problème =titi("A10:A30") me donne bien le
résultat
Par contre en VBA je n'arrive pas à passer la plage de cellule
c'est sûrement simple mais .
Merci du retour.
Soit une fonction perso
Function titi(champ as range)
.. calcul
End funtion
Dans une cellule pas de problème =titi("A10:A30") me donne bien le
résultat
Par contre en VBA je n'arrive pas à passer la plage de cellule
c'est sûrement simple mais .
Merci du retour.
Pour appeler la fonction dans une cellule de la feuille de calcul :
=titi(A1:A2) 'sans guillemet
La fonction doit être dans un module STANDARD.
'------------------------
Function titi(champ As Range)
titi = Application.Sum(champ)
End Function
'------------------------
Suppose que tu veuilles passer 2 plages de cellules discontinues
=TITI1(A1:A2;A5)
'------------------------
Function titi1(Champ As Range, Champ1 As Range)
titi1 = Application.Sum(Champ, Champ1)
End Function
'------------------------
MichD
Effectivement erreur de frappe
Pas de problème à partir des cellules, c'est à partir du VBA que je
galère
Et C'EST QUOI TON PROBLÈME EN VBA? La formulation de ta question s'adresse à un devin et non à moi!
MichD
Mon Pb c'est comment dans une procédure me servir de cette fonction
je n'arrive pas à trouver la syntaxe pour passer la plage de cellules à
la fonction
Exemple I
'----------------------------------------------------
Sub test()
With Worksheets("Feuil1")
MsgBox titi(.Range("A1:A5"))
End With
End Sub
Function titi(Champ As Range)
titi = Application.Sum(Champ)
End Function
'----------------------------------------------------
Exemple II
'----------------------------------------------------
Sub test1()
With Worksheets("Feuil1")
MsgBox titi1(.Range("A1:A5"), .Range("A7:A10"))
End With
End Sub
Function titi1(Champ As Range, Champ1 As Range)
titi1 = Application.Sum(Champ, Champ1)
End Function
'----------------------------------------------------
MichD
Merci des précisions détaillées encore une fois