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
Partager