Bonjour,
Je vais essayer de structurer un peu mon pb:
Objectifs:
J'aimerai via excel pouvoir réaliser des opération sur des fourchettes de valeurs.
par exemple, si A1 a pour valeur "[1-2]"
et A2, "[10-20]"
je voudrai à termes qu'une fonction de type sommer(A1,A2), renvoie [11-22].
Moyen:
J'aimerai profiter de cet exercice pour me familiariser avec l'utilisation des modules de classe, et pensais donc créer une classe fourchette puis une fonction d'opération que j'appellerai dans les feuilles excel.
J'ai créé le module de classe "fourchette" comme suit:
Public gauche As Long
Public droite As Long
Function afficher() As String
afficher = ("[" & gauche & "-" & droite & "]")
End Function
Et dans un module la fonction sommer comme suit:
Public Function sommer(terme1 As fourchette, terme2 As fourchette) As fourchette
Set res = New fourchette
res.gauche = terme1.gauche + terme2.gauche
res.droite = terme1.droite + terme2.droite
sommer = res
End Function
Que je veux tester par la fonction test suivante:
Sub test()
Set a = New fourchette
a.gauche = 1
a.droite = 1
Set b = New fourchette
b.gauche = 1
b.droite = 2
Set c = New fourchette
c = sommer(a, b)
MsgBox (c.afficher)
End Sub
Hors celle-ci ne marche pas et me dit: Type d'argument ByRef incompatible. Je ne suis pas très familier avec ce type d'erreur. Quelqu'un pourrait m'aider?
Je suis par ailleurs preneur de tout conseil pour atteindre mon objectif
Merci d'avance
Je vais essayer de structurer un peu mon pb:
Objectifs:
J'aimerai via excel pouvoir réaliser des opération sur des fourchettes de valeurs.
par exemple, si A1 a pour valeur "[1-2]"
et A2, "[10-20]"
je voudrai à termes qu'une fonction de type sommer(A1,A2), renvoie [11-22].
Moyen:
J'aimerai profiter de cet exercice pour me familiariser avec l'utilisation des modules de classe, et pensais donc créer une classe fourchette puis une fonction d'opération que j'appellerai dans les feuilles excel.
J'ai créé le module de classe "fourchette" comme suit:
Public gauche As Long
Public droite As Long
Function afficher() As String
afficher = ("[" & gauche & "-" & droite & "]")
End Function
Et dans un module la fonction sommer comme suit:
Public Function sommer(terme1 As fourchette, terme2 As fourchette) As fourchette
Set res = New fourchette
res.gauche = terme1.gauche + terme2.gauche
res.droite = terme1.droite + terme2.droite
sommer = res
End Function
Que je veux tester par la fonction test suivante:
Sub test()
Set a = New fourchette
a.gauche = 1
a.droite = 1
Set b = New fourchette
b.gauche = 1
b.droite = 2
Set c = New fourchette
c = sommer(a, b)
MsgBox (c.afficher)
End Sub
Hors celle-ci ne marche pas et me dit: Type d'argument ByRef incompatible. Je ne suis pas très familier avec ce type d'erreur. Quelqu'un pourrait m'aider?
Je suis par ailleurs preneur de tout conseil pour atteindre mon objectif
Merci d'avance