Calculer les coordonnées d'une cellule sous une fonction VBA

Bonjour à tous,

Je souhaite créer une fonction de type integer sur VBA qui retourne une matrice carrée. Celle-ci permettrait de calculer les coordonnées des cellules entre A1 et D4 (Exemple : Cellule B2 : 2 + 2 = 4). Je dois pouvoir l'utiliser sur Excel comme une fonction matricielle.

Option Explicit

Function createMatrix(Compteur() As Double) As Integer

Dim I As Long
Dim J As Long

createMatrix = 0

For I = 1 To 4
    For J = 1 To 4
    Compteur(1 + I, 1 + J) = createMatrix + 1
    Next J
Next I

createMatrix = Compteur(I, J)

End Function

Je ne sais pas du tout comment m'y prendre pour avoir une valeur..

Merci pour vos explications,

Bonsoir,

Sais-tu vraiment ce que tu veux faire ?

D'abord, initialiser createMatrix à 0 est une inutilité ! Faudrait peut-être apprendre un minimum de VBA !

Ta fonction exige en argument un tableau : ce tableau devra avoir deux dimensions, et dans chaque dimension un indice minimal <=1 et un indice maximal >=5, sinon erreur.

La fonction va affecter des valeurs à 16 éléments du tableau Compteur, en fait toujours la même valeur : 1.

Et la fonction renverra en fin de parcours la valeur de Compteur(5, 5) qui sera naturellement égale à 1.

Elle n'est pas conçue pour retourner une matrice, mais une simple valeur de type Integer, et elle ne retournera jamais que 1 ou sera en erreur.

Tu fais visiblement joujou avec des éléments que tu ne comprends pas...

Cordialement.

Bonjour,

Merci pour votre réponse,

En effet non je ne comprends pas..

Cordialement,

J'ai trouvé en faisant un Sub mais je ne sais pas comment le modifier pour que cela fonctionne en faisant une fonction..

Sub XXX()
    Dim i As Integer, j As Integer

    For i = 1 To 4
        For j = 1 To 4
            Cells(i, j) = i + j
        Next j
    Next i

End Sub

Merci d'avance

Rechercher des sujets similaires à "calculer coordonnees fonction vba"