Table des matières
Convertir la matrice en vecteur
Il s'agit du didacticiel opposé du didacticiel Conversion d'un vecteur de ligne unique en une matrice.
La fonction suivante prendra une plage comme matrice et la convertira en un vecteur de colonne unique :
Option Fonction explicite Create_Vector(Matrix_Range As Range) As Variant Dim No_of_Cols As Integer, No_Of_Rows As Integer Dim i As Integer Dim j As Integer Dim Cell No_of_Cols = Matrix_Range.Columns.Count No_Of_Rows = No_Of_Rows = Matrix_Range_Colray.Row 'Élimine les conditions NULL si Matrix_Range n'est rien, puis quitte la fonction si No_of_Cols = 0, puis quitte la fonction si No_Of_Rows = 0, puis quitte la fonction pour j = 1 à No_Of_Rows pour i = 0 à No_of_Cols - 1 Temp_Array((i * No_Of_Rows) + j) = Matrix_Range.Cells(j, i + 1) Next i Next j Create_Vector = Temp_Array End Function
Ainsi par exemple le vecteur :
Va devenir:
Où nous avons utilisé le sous-programme suivant pour imprimer le vecteur :
Private Sub CommandButton1_Click() Dim Vector Dim k As Integer Vector = Create_Vector(Sheets("Sheet1").Range("A4:D8")) For k = 1 To UBound(Vector) Sheets("Sheet1").Range(" B20").Offset(k, 1).Value = Vector(k) Next k End Sub
Notez que ces routines fonctionnent à la fois sur les nombres et le texte.
Pour télécharger le fichier .XLSM de ce tutoriel, cliquez ici.