Bonjour,


Avec l'aide de l'un de vous, j'ai écrit un code qui envoie les ordonnées et les abscisse pour obtenir un tableau depuis une table.

Le code marche bien... dans les abscisse j'ai un numéro qui est écrit en 2ème ligne, je cherche à inscrire le nom correspondant au numéro sur la première ligne. Ce nom ce trouve dans une autre feuille [MAJ] dans la plage M5:N36 Colonne M le nom à renvoyer colonne N le numéro.

Pour cela j'ai rajouté une ligne dans ma boucle

Code : Sélectionner tout - Visualiser dans une fenêtre à part
  Sheets("Balance_Géné").Cells(1, 1 + mondico.Count) = ActiveCell.FormulaR1C1 = "=INDEX(Maj!R5C13:R36C14,tablo,1)"

J'ai comme résultat 'FAUX'
la formule excel employée est : =INDEX(Maj!M5:N36;1;1)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'abscisse
 
       Set mondico = CreateObject("Scripting.Dictionary")
 
 
        For Each d In Sheets("Data").Range([A2], [A65536].End(xlUp))
                'si la donnée n'existe pas encore dans le dictionnaire
             If Not mondico.exists(d.value) Then
                'on l'ajoute dans le dictionnaire...
                mondico.Add d.value, d.value
                '...et dans le tableau VBA ;-)
                    ReDim Tablo(1 To mondico.Count)
                    Tablo(mondico.Count) = d.value
 
                        Sheets("Balance_Géné").Cells(2, 1 + mondico.Count) = Tablo(mondico.Count)
                        Sheets("Balance_Géné").Cells(1, 1 + mondico.Count) = ActiveCell.FormulaR1C1 = "=INDEX(Maj!R5C13:R36C14,tablo,1)"
'
            End If

Comment résoudre ce problème

Merci d'avance