Vecteur VBA

Bonjour,

J'aimerais developer une fonction qui recoit deux vecteur(1D) et qui en fait la difference pour retourner un seul vecteur.

Merci:)

Recoit: V1 ( 6 5 6 7)

-

V2( 3 5 3 0)

___________

Retourne: VF( 3 0 3 7)

bonjour,

une proposition de fonction, avec un exemple d'appel

Sub test()
x1 = 10
y1 = 10
x2 = 20
y2 = 10
v1 = Array(x1, y1)
v2 = Array(x2, y2)
r = subvecteur(v1, v2)
MsgBox r(LBound(r)) & "," & r(UBound(r))
End Sub

Function subvecteur(v1 As Variant, v2 As Variant) As Variant
Dim s(1 To 2)
s(1) = v1(LBound(v1)) - v2(LBound(v2))
s(2) = v1(UBound(v1)) - v2(UBound(v2))
subvecteur = s
End Function

Merci, Y-a-t-il un moyen de faire sous forme de tableau.

Parce que la fonction risque d'envisager des matrices dans lequels il y a plus plusieurs parametres V( 3 4 5 6 8 2 1 4 ...n)

Bonjour,

Function subvecteur(v1 As Variant, v2 As Variant) As Variant
    Dim s(), i As Long
    If UBound(v1) <> UBound(v2) Then subvecteur = CVErr(xlErrValue): Exit Function
    ReDim s(LBound(v1) To UBound(v1))
    For i = LBound(v1) To UBound(v1)
        s(i) = v1(i) - v2(i)
    Next i
    subvecteur = s
End Function

J'ai supposé que tu ne passais que tableaux à 1 dimension.

eric

Merci beaucoup Eric

J apprecie


Salut Eric,

Que signfie le code suivant

m_tableau_1d_moins1 = CVErr(xlErrValue): Exit Function

Merci

If UBound(v1) <> UBound(v2) Then subvecteur = CVErr(xlErrValue): Exit Function

Contrôle que les 2 tableaux aient la même taille pour éviter un plantage plus loin.

Retourne un code d'erreur que tu peux tester si tailles différentes. Inutile si tu es sûr de ce que tu passes en paramètre.

eric

Rechercher des sujets similaires à "vecteur vba"