Enelver les $ d'une sélection de cellules

Madjon6

XLDnaute Occasionnel
Bonjour,

Je souhaite enlever en 1 seule fois les $ des formules sur une sélection de cellules. Afin que je n'ai pas à le faire manuellement sur toutes les formules avec f4.

Merci pour votre aide.

Madjon6
 

Madjon6

XLDnaute Occasionnel
Re : Enelver les $ d'une sélection de cellules

Lol j'y avais pas du tout penser.

Effectivement cela fonctionne. mais pour les remettre cela sera autre chose.

Si vous avez des idées sur comment on peut mettre je suis preneur.

Merci encore.
 

Etienne2323

XLDnaute Impliqué
Re : Enelver les $ d'une sélection de cellules

Bonjour Madjon6, le fil,

voici un exemple de macro pouvant réaliser votre besoin. Il est facilement adaptable pour l'inclure dans une boucle.
J'ai supposé que la formule se trouvait dans la cellule A1.

VB:
Sub test()

'Si vous voulez remplacer directement dans la formule

'À modifier en fonction de vos besoins
Ma_formule$ = Range("A1").Formula

'*********************************************************************************************
'Si vous souhaitez modifier directement dans la valeur
'Ma_Valeur = Cells(1,1).Value
'*********************************************************************************************

'Signe à supprimer
a$ = "$"

'Procède au remplacement
For i = 1 To Len(Ma_formule)
    If Mid(Ma_formule, i, 1) = a Then
        Ma_formule = Mid(Ma_formule, 1, i - 1) & Mid(Ma_formule, i + 1, Len(Ma_formule) - 1)
        i = i - 1
    End If
Next i

'Applique les modifications dans la formule
Cells(1, 1).Formula = Ma_formule

End Sub

Cordialement,

Étienne
 

Pierrot93

XLDnaute Barbatruc
Re : Enelver les $ d'une sélection de cellules

Re,

pour remettre le signe $ l'on pourrait faire ceci, à voir....

Code:
Dim c As Range, x As Range
Set c = ActiveCell
For Each x In c.Precedents
c.Formula = Replace(c.Formula, x.Address(0, 0), x.Address)
Next x
 

Pierrot93

XLDnaute Barbatruc
Re : Enelver les $ d'une sélection de cellules

Bonjour,

2 procédures afin de boucler sur la selection, pour basculer entre les références relatives et absolues :
Code:
Sub RefRelativeVsAbsolue()
Dim c As Range, x As Range
For Each c In Selection
    If c.HasArray Or c.HasFormula Then
        On Error Resume Next
        For Each x In c.Precedents
            If Err.Number = 0 Then c.Formula = Replace(c.Formula, x.Address(0, 0), x.Address)
        Next x
    End If
Next c
End Sub

Code:
Sub RefAbsolueVsRelative()
Dim c As Range, x As Range
For Each c In Selection
    If c.HasArray Or c.HasFormula Then
        On Error Resume Next
        For Each x In c.Precedents
            If Err.Number = 0 Then c.Formula = Replace(c.Formula, x.Address, x.Address(0, 0))
        Next x
    End If
Next c
End Sub

bonne journée
@+
 

Softmama

XLDnaute Accro
Re : Enelver les $ d'une sélection de cellules

Bonjour,

Sympa le truc de Pierrot. J'm'étais un peu cassé la tête à me demander comment remettre les dollars dans une formule, mais je me doutais bien que y avait plus simple que mon usine à gaz.

Je la joins pour info ^^

VB:
Sub dollars()
Dim nb As Byte
strrow = "0123456789"
strCol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
StrOp = ":;(+-*/^="
c = Replace([A1].Formula, "$", "")
Formula2 = ""
For t = 1 To Len(c)
    X = "?"
    If InStr(strrow, Mid(c, t, 1)) <> 0 Then
        X = "0"
    ElseIf InStr(strCol, Mid(c, t, 1)) <> 0 Then
        X = "A"
    ElseIf InStr(StrOp, Mid(c, t, 1)) <> 0 Then
        X = "+"
    End If
    Formula2 = Formula2 & X
Next
    st = 1: nb = 0
    Do While st <> 0
        st = InStr(st + 1, Formula2, "A0")
        If st <> 0 And st > 1 Then
            If Mid(Formula2, st - 1, 1) = "A" Then
                If Mid(Formula2, st - 2, 1) <> "A" Then
                    c = Left$(c, st + nb - 2) & "$" & Mid$(c, st + nb - 1)
                    nb = nb + 1
                    c = Left$(c, st + nb) & "$" & Mid$(c, st + nb + 1)
                    nb = nb + 1
                    MsgBox c
                End If
            Else
                    c = Left$(c, st + nb - 1) & "$" & Mid$(c, st + nb)
                    nb = nb + 1
                    c = Left$(c, st + nb) & "$" & Mid$(c, st + nb + 1)
                    nb = nb + 1
                    MsgBox c
            End If
        End If
    Loop
    Range("A2").Formula = c
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Enelver les $ d'une sélection de cellules

Bonjour à tous

Une façon toute simple (prévue par Excel)
Application.ConvertFormula
Voir ici pour les détails
Lien supprimé

EDITION: pour le vice et versa, Lien supprimé
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 377
dernier inscrit
fredy45