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.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michd
Le #26481550
Bonjour,
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
Brat'ac
Le #26481559
Michd a émis l'idée suivante :
Bonjour,
Pour appeler la fonction dans une cellule de la feuille de calcul :
=titi(A1:A2) 'sans guillemet


Effectivement erreur de frappe
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

Pas de problème à partir des cellules, c'est à partir du VBA que je
galère
Michd
Le #26481581
| 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
Brat'ac
Le #26481584
Michd avait écrit le 04/07/2018 :
Et C'EST QUOI TON PROBLÈME EN VBA? La formulation de ta question s'adresse à
un devin et non à moi!

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
Michd
Le #26481586
Les deux mêmes exemples en VBA
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
Brat'ac
Le #26481626
Dans son message précédent, Michd a écrit :
Les deux mêmes exemples en VBA
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
Publicité
Poster une réponse
Anonyme