Problème de remplissage dune matrice.
 
Bonjour, je développe une macro qui réalise une chaîne de cote de pignon et je rencontre un problème tout bête à faire à la main, mais pour le programmer, je memmêle les pinceaux.
 
Voici mon cas détude :
 
Jai un premier tableau dit « Condition » (3 lignes et 3 colonnes pour lexemple):
(1ère colonne = N° de la condition, 2ème = Origine de la cote, 3ème = extrémité de la cote)
Les origines et les extrémités vont de 10 en 10.
 
C1	10	20
C2	20	40
C3	30	40
 
Jai un second tableau dit « Transition » (idem 3 lignes et 3 colonnes)
 
T1	10	20
T2	10	30
T3	10	40
 
A partir de ces 2 tableaux, je voudrais créer une matrice ayant les conditions en lignes et les transitions en colonne.
 
On doit trouver pour cet exemple que
T1 = C1
T2 = C1+C2-C3
T3 = C1+C3
 
Soit la matrice que je dois obtenir.
 C1	C2	C3
T1	1	0	0
 
T2	1	1	-1
 
T3	1	1	0
 
En fait je narrive pas à trouver comment la remplir sauf pour en (T1,C1)
 
Voici le programme : VBA sous CatiaV5R14
Sub CATmain()
 
    'Création des cotes conditions
    Dim C(3, 3)
    '1er colonne
    C(1, 1) = 1: C(2, 1) = 2: C(3, 1) = 3
    '2ème
    C(1, 2) = 10: C(2, 2) = 20: C(3, 2) = 30
    '3ème
    C(1, 3) = 20: C(2, 3) = 40: C(3, 3) = 40
 
    'Tableau T
    Dim T(4, 3)
    '1er colonne
    T(1, 1) = 1: T(2, 1) = 2: T(3, 1) = 3
    '2ème
    T(1, 2) = 10: T(2, 2) = 10: T(3, 2) = 10
    '3ème
    T(1, 3) = 20: T(2, 3) = 30: T(3, 3) = 40
     
    Dim M1(3, 3)
    For i = 0 To 3
        For j = 0 To 3
            M1(i, j) = 0
        Next j
    Next i
     
    'Matrice M1 de la forme M1(T(i),C(j))
    Dim NbreFace: NbreFace = 4
    For i = 1 To NbreFace - 1
        For j = 1 To NbreFace - 1
         
            If T(i, 2) = C(j, 2) And T(i, 3) = C(j, 3) Then
                M1(i, j) = 1
            End If
 
            X1 = 10
            X2 = 20
             
            Do While X2 < NbreFace * 10
                If X1 = C(j, 2) And X2 < C(j, 3) Then
                    M1(i, j) = 1
                End If
                X2 = X2 + 10
            Loop
        Next j
         
    Next i
     
    'pour Vérifier ma matrice
    Dim A1, A2, A3, B1, B2, B3, C1, C2, C3
    A1 = M1(1, 1): A2 = M1(1, 2): A3 = M1(1, 3)
    B1 = M1(2, 1): B2 = M1(2, 2): B3 = M1(2, 3)
    C1 = M1(3, 1): C2 = M1(3, 2): C3 = M1(3, 3)
     
     
End Sub
 
 
 
 SI vous avez une idée???
merci
Steph