VBA Excel:comment définir une méthode ?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

flyjodel

XLDnaute Junior
Bonjour à tou(te)s,

pour diverses raisons (parmi lesquelles ma nullité ainsi que la facilité d'affichage sans avoir refaire le monde au point où j'en suis), je construis un petit projet en VBA au sein d'une macro Excel (2007 en l'occurrence).

Pour la petite histoire ce projet concerne des calculs effectués sur des points reçus d'un GPS par le port série.

Par commodité, j'utilise un objet auquel j'adjoins des propriétés :
Code:
Type PointGPS
    lat As Single
    lon As Single
    heure As Single
    vitesse As Single
    route As Single
    historique_vitesse(60) As Single
End Type

J'aimerais qu'une "méthode" soit adjointe à ce point pour calculer la distance de celui-ci à un autre point. Mais malgré de nombreuses recherches sur le net, je ne trouve pas comment faire en VBA (j'ai trouvé comment faire en VB.net dans le cours de Mr Lasserre). Comment déclarer la méthode ?

j'aimerais arriver ç un truc dans ce genre :
Code:
méhtode PointGPS.Distance(pointA as PointGPS, pointB as PointGPS)
    distance = calcul compliqué sur les latitudes et longitudes de pointA et pointB
end méthode

et dont l'utilisation serait le calcul automatique de l'attribut PointGPS.Distance
quelqu'un peut-il m'aider ? Ou au moins me confirmer que je n'ai pas l'air tout à fait clair ?

Merci beaucoup, beaucoup, beaucoup !
Michel

ps : et parallèlement m'indiquer un cours équivalent à celui de Mr Lasserre mais concernant le VBA (Excel) ?
 
Dernière édition:
Re : VBA Excel:comment définir une méthode ?

Bonjour,

Je crois que tu mélanges un peu les notions d'objet et type personnalisé.

Ces deux notions peuvent être rassemblés dans un module de classe pour constituer la description et les fonctionalités d'un nouvel objet.

Mais avant de s'attaquer à cela il y a des notions de base que tu pourras acquerir ici entre autres. Et en t'essayant sur des organisations moins complexes.

A+
 
Re : VBA Excel:comment définir une méthode ?

Merci pour ta réponse, je vais étudier le lien proposé.

[edit]
je suis allé visiter le lien mais c'est un peu général et cela ne semble pas répondre à ma question. j'ai utilisé la syntaxe Type parce que c'est la seule que j'ai trouvée.
Dans toutes les lectures que j'ai trouvées, quand on déclare une variable sous la forme :
Dim Toto as object

il me semble que l'on ne peut lui attribuer que des propriétés/fonctions déjà présentes dans VBA non ?

dans VB.net, je programmerais la chose de la manière suivante :
Code:
public class PointGPS
    private lat as Single
    private lon as Single
    private heure as Single
etc...
    ReadOnly Property Distance(PointA as PointGPS) as Single
        Get
            Return Distance = sqrt(pointA.lat*pointA.lat+pointA.lon*pointA.lon)
        End Get
    End Property
End Class

comment puis-je faire la même chose dans VBA ? ou l'équivalent si c'est possible ?
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour