Bonjour je viens de créer une macro qui me permets d'inverser un tableau de valeur:

1 2 3
4 5 6

devient :

6 5 4
3 2 1

Voici le code :


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
 
Sub Inverse()
 
Dim TableauE As Variant
Dim TableauS As Variant
 
Dim i As Long
Dim j As Long
Dim TailleI As Long
Dim TailleJ As Long
 
 
i = 0
j = 0
 
TableauE = Selection.Value
 
TailleI = UBound(TableauE, 1)
TailleJ = UBound(TableauE, 2)
 
ReDim TableauS(TailleI, TailleJ)
 
For i = 0 To TailleI - 1
   For j = 0 To TailleJ - 1
   TableauS(i, j) = TableauE(TailleI - i, TailleJ - j)
   Next
Next
 
Selection.Value = TableauS
 
End Sub
J'aimerai maintenant qu'au lieu de copier juste la valeur de la cellulen, ma macro prenne en compte la formule qu'il peut y avoir

ex :

__A_B_C__
1| 1 2 3
2| 4 5 8

avec C2 = (B1)^3

devient :

__A_B_C__
1| 8 5 4
2| 3 2 1

avec A1 = (B2)^3

Quelqu'un aurait -il une idée ? Existe t il une autre méthode applicable à une cellule que cellule.value pour copier la formule et la modifier de manière dynamique ?

Merci beaucoup pour votre aide !