Bonjour,

Je souhaite rassembler dans un seul et même tableau les infos qui se trouvent dans des tableaux identiques qui se trouvent dans différents onglets.
Ce tableau de synthèse est différent des tableaux de données, c’est pourquoi je veux créer une formule qui récupèrera les données en fonctions des entêtes de colonnes ou de lignes.

Malheureusement ma formule de fonctionne pas et ne renvoie pas de valeur.
Pouvez-vous m’aider SVP ?

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
 
Function informationsPret2() As Double
 
Dim valeurAnnee As Long, valeurMois As String, valeurPret As String, valeurInfo As String
Dim feuille As String, derniereLigne As Long
Dim deplacementMois As Long, deplacementAnnee As Long
Dim valeurRecherchee As Double
 
Dim numeroColonne As Long
Dim numeroLigne As Long
Dim lettreColonneValeur As String
Dim plageAnnee As Range
Dim plageMois As Range
Dim colonneValeur As String
Dim plageRechercheValeurPret As String
 
Application.Volatile
 
numeroColonne = ActiveCell.Column
numeroLigne = ActiveCell.Row
 
 
 
lettreColonneValeur = Split(Cells(1, numeroColonne).Address, "$")(1)
 
Set plageAnnee = Range(lettreColonneValeur & 12)
Set plageMois = Range(lettreColonneValeur & 13)
 
valeurAnnee = plageAnnee.MergeArea.Cells(1, 1).Value
valeurMois = plageMois.MergeArea.Cells(1, 1).Value
valeurInfo = Range(lettreColonneValeur & 14).Value
valeurPret = Range("A" & numeroLigne).Value
 
feuille = valeurPret
 
 
If valeurInfo = " Remboursement Capital" Then
 
    colonneValeur = "C"
    deplacementMois = 6
    deplacementAnnee = 7
 
ElseIf valeurInfo = " Intérêts" Then
 
    colonneValeur = "D"
    deplacementMois = 5
    deplacementAnnee = 6
 
ElseIf valeurInfo = " Capital dû aprés échéance" Then
 
    colonneValeur = "F"
    deplacementMois = 3
    deplacementAnnee = 4
 
End If
 
derniereLigne = 0
 
Worksheets(feuille).Activate
 
Range("A" & Rows.Count).End(xlUp).Select
derniereLigne = Range("A" & Rows.Count).End(xlUp).Row
 
plageRechercheValeurPret = colonneValeur & "12: L " & derniereLigne
 
Range(plageRechercheValeurPret).Select
 
 
For Each Cell In Selection
    Cell.Select
 
    If ActiveCell.Offset(0, deplacementAnnee).Value = valeurAnnee And ActiveCell.Offset(0, deplacementMois).Value = valeurMois Then
 
        valeurRecherchee = ActiveCell.Value
 
        Exit Function
 
    End If
 
Next Cell
 
 
informationsPret2 = valeurRecherchee
 
 
End Function