OVH Cloud OVH Cloud

macro excel pour nombre négatif

2 réponses
Avatar
macgiver
Bonjour a tous, j'ai un fichier excel(qui provient d'une exportation de mon
systeme comptable) qui une fois importer dans excel, me met, pour les nombres
négatifs, le signe ''-'' à la fin du nombre (Ex: 1 350 000.00-). Donc je
voudrais par une macro et ou code VB, faire une vérification de toute ma
feuille, si lors de la verification la macro trouve une cellule comportant un
nombre suivi d'un négatif, je voudrais prendre ce signe négatif ''-'' et le
placer au début ou tout simplement rendre mon nombre négatif.

merci

2 réponses

Avatar
michdenis
Bonjour Macgiver,

'---------------------------
Sub Test()

Dim Rg As Range, C As Range
With Worksheets("Feuil1") 'Nom Feuille à adapter
On Error Resume Next
Set Rg = .Range("A1:B5").SpecialCells(xlCellTypeConstants)
For Each C In Rg
If Right(Trim(C), 1) = "-" Then
C.Value = Right(C, 1) & Mid(C, 1, Len(C) - 1)
End If
Next
End With
Set Rg = Nothing: Set C = Nothing
End Sub
'---------------------------


Salutations!


"macgiver" a écrit dans le message de news:

Bonjour a tous, j'ai un fichier excel(qui provient d'une exportation de mon
systeme comptable) qui une fois importer dans excel, me met, pour les nombres
négatifs, le signe ''-'' à la fin du nombre (Ex: 1 350 000.00-). Donc je
voudrais par une macro et ou code VB, faire une vérification de toute ma
feuille, si lors de la verification la macro trouve une cellule comportant un
nombre suivi d'un négatif, je voudrais prendre ce signe négatif ''-'' et le
placer au début ou tout simplement rendre mon nombre négatif.

merci
Avatar
Hervé
Bonsoir,
Un truc dans le genre ?

Sub Negatif()
Dim Plg As Range
Dim Cel As Range

Set Plg = Plage(ActiveSheet)

For Each Cel In Plg
If Right(Cel, 1) = "-" Then
Cel = "-" & Left(Cel, Len(Cel) - 1)
End If
Next Cel

Set Cel = Nothing
Set Plg = Nothing
End Sub

Function Plage(Fe As Worksheet) As Range
With Fe
Set Plage = .Range(.Cells(1, 1), _
.Cells( _
.Cells.Find("*", .[A1], -4123, , _
1, 2).Row, _
.Cells.Find("*", .[A1], -4123, , _
2, 2).Column))
End With
End Function

Hervé.

"macgiver" a écrit dans le message de
news:
Bonjour a tous, j'ai un fichier excel(qui provient d'une exportation de
mon
systeme comptable) qui une fois importer dans excel, me met, pour les
nombres
négatifs, le signe ''-'' à la fin du nombre (Ex: 1 350 000.00-). Donc je
voudrais par une macro et ou code VB, faire une vérification de toute ma
feuille, si lors de la verification la macro trouve une cellule comportant
un
nombre suivi d'un négatif, je voudrais prendre ce signe négatif ''-'' et
le
placer au début ou tout simplement rendre mon nombre négatif.

merci