OVH Cloud OVH Cloud

Valeur relative

5 réponses
Avatar
Alan J
Bonjour,

Est il possible de transformer un tableau contenant des valeurs relatives en
valeur absolue sans avoir à modifier chaque cellule séparément.
Merci

5 réponses

Avatar
michdenis
Bonjour Alain,

Essaie ceci :

adapte le nom de la feuille dans la procédure !

Attention : tu te fais une sauvegarde avant de tester plus à fond !

'-------------------------
Sub EnValeurRelative()

Dim C As Range, f As String
On Error Resume Next
For Each c In Worksheets("Feuil1"). _
UsedRange.SpecialCells(xlCellTypeFormulas)
f = c.FormulaLocal
f = Replace(f, "$", "")
c.FormulaLocal = f
Next

End Sub
'-------------------------


Salutations!


"Alan J" a écrit dans le message de news:
Bonjour,

Est il possible de transformer un tableau contenant des valeurs relatives en
valeur absolue sans avoir à modifier chaque cellule séparément.
Merci
Avatar
RaMA
Bonsoir
peux tu donner un exemple de tes valeurs relatives et absolues
Salutations
RaMa

--
.
"Alan J" a écrit dans le message de news:

Bonjour,

Est il possible de transformer un tableau contenant des valeurs relatives
en valeur absolue sans avoir à modifier chaque cellule séparément.
Merci



Avatar
michdenis
Bonjour Alain,

Si tu as des formules matricielles dans ta plage de cellules, tu devrais utiliser ceci :

'-------------------------------------
Sub EnValeurRelative()

Dim C As Range
Application.EnableEvents = False
On Error Resume Next
For Each C In Worksheets("Feuil1"). _
UsedRange.SpecialCells(xlCellTypeFormulas)
If C.HasArray = True Then
f = C.Formula
f = Replace(f, "$", "")
C.FormulaArray = f
Else
f = C.FormulaLocal
f = Replace(f, "$", "")
C.FormulaLocal = f
End If
Next
Application.EnableEvents = True
End Sub
'-------------------------------------


Salutations!



"Alan J" a écrit dans le message de news:
Bonjour,

Est il possible de transformer un tableau contenant des valeurs relatives en
valeur absolue sans avoir à modifier chaque cellule séparément.
Merci
Avatar
Alan J
merci à tous,

j'essaye ça de suite
"michdenis" a écrit dans le message de news:
u0Tl%
Bonjour Alain,

Si tu as des formules matricielles dans ta plage de cellules, tu devrais
utiliser ceci :

'-------------------------------------
Sub EnValeurRelative()

Dim C As Range
Application.EnableEvents = False
On Error Resume Next
For Each C In Worksheets("Feuil1"). _
UsedRange.SpecialCells(xlCellTypeFormulas)
If C.HasArray = True Then
f = C.Formula
f = Replace(f, "$", "")
C.FormulaArray = f
Else
f = C.FormulaLocal
f = Replace(f, "$", "")
C.FormulaLocal = f
End If
Next
Application.EnableEvents = True
End Sub
'-------------------------------------


Salutations!



"Alan J" a écrit dans le message de news:

Bonjour,

Est il possible de transformer un tableau contenant des valeurs relatives
en
valeur absolue sans avoir à modifier chaque cellule séparément.
Merci





Avatar
AV
...des valeurs relatives en valeur absolue ...."


S'il s'agit de formules "relativement" simples et n'ayant pas de références 3D :

Sub zzz()
On Error Resume Next
For Each C In Selection
C.FormulaLocal = Application.Substitute(C.FormulaLocal, _
Application.Substitute(C.Precedents.Address, "$", ""),
C.Precedents.Address)
Next
End Sub

PS : pour qque chose d'exhaustif faudra faire de la bouclette sur chaque
chaîne....
AV