Bonjour,
Comment, en VBA, peut on inverser le signe de chacun des termes d'une formule d'addition/soustraction ?
Par exemple en A1 j'ai une formule =3+6+34-31
Je voudrais retrouver en A2( par exemple) =-3-6-34+31
Merci par avance
Version imprimable
Bonjour,
Comment, en VBA, peut on inverser le signe de chacun des termes d'une formule d'addition/soustraction ?
Par exemple en A1 j'ai une formule =3+6+34-31
Je voudrais retrouver en A2( par exemple) =-3-6-34+31
Merci par avance
Bonsoir à Tous
Bonsoir Alain
Je te propose ceci :
Possibilité de ce même code pour ta question précédenteCode:
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 Sub decoupe_02() tab_1 = Split(Range("A12").Formula, "+") For i = 0 To UBound(tab_1) If InStr(1, tab_1(i), "-") Then tab_2 = Split(tab_1(i), "-") For a = 0 To UBound(tab_2) If a = 0 Then 'Cells(13, 2 + i) = "-" & tab_2(a) ma_formule = ma_formule & "-" & tab_2(a) Else 'Cells(13, 2 + i + y) = tab_2(a) ma_formule = ma_formule & "+" & tab_2(a) End If y = y + 1 Next x = UBound(tab_2) Else If InStr(1, tab_1(i), "=") Then 'Cells(13, 2 + i + x) = "-" & Replace(tab_1(i), "=", "") ma_formule = ma_formule & "-" & Replace(tab_1(i), "=", "") Else 'Cells(13, 2 + i + x) = "-" & tab_1(i) ma_formule = ma_formule & "-" & tab_1(i) End If End If Next Range("G13") = "=" & ma_formule End Sub
Eric
bonjour,
Code:ActiveCell.FormulaR1C1=replace(replace(replace(ActiveCell.FormulaR1C1,"-","$"),"+","-"),"$","+")
Effectivement je n'y ai pas pensé désolé ;je reprends ma copie
Edite:
Code:ActiveCell.FormulaR1C1=Replace(Replace(Replace(replace(replace(ActiveCell.FormulaR1C1," ",""),"=","=" & iif(isNumeric(mid(replace(ActiveCell.FormulaR1C1," ",""),2,1)),"+","")), "-", "$"), "+", "-"), "$", "+")
[QUOTE=Thumb down;11768919]Effectivement je n'y ai pas pensé désolé ;je reprends ma copie
Merci beaucoup
cordialement