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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <macgiver@discussions.microsoft.com> a écrit dans le message de news:
40E4348F-F507-45E6-81C1-79A7D3B5BCF7@microsoft.com...
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.
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
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
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" <macgiver@discussions.microsoft.com> a écrit dans le message de
news: 40E4348F-F507-45E6-81C1-79A7D3B5BCF7@microsoft.com...
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.
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.