Fonction convertir dans Excel
cpa6675
Messages postés
2
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai exporté des données d'un logiciel sous excel afin de pouvoir mieux les exploiter.
Une fois exportées sous excel, ces données apparaissent sous le format suivant "11.222,33" et ne sont pas reconnues comme des données numériques par excel (quand je sélectionne 2 cellules contenant des données, j'ai le résultat suivant tout en bas dans la "barre d'état" d'excel : somme=0).
Pour y remédier, j'ai décidé d'utiliser la fonction convertir que l'on trouve dans le menu données d'excel, ce qui résout effectivement mon problème.
Le problème maintenant est que cette fonction convertir ne peut être appliquée que sur une colonne à la fois et que mon tableau en contient 6.
J'ai donc décidé de passer par VBA :
Sub Essai()
'
' Essai Macro
' Macro enregistrée le 28/08/2008 par
'
'For Ctr=3 To 8
Columns(&Ctr":"&Ctr).Select
ActiveWindow.SmallScroll ToRight:=-2
Selection.TextToColumns Destination:=Range("C4"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, OtherChar _
:="¤", FieldInfo:=Array(1, 1), ThousandsSeparator:=".", _
TrailingMinusNumbers:=True
End Sub
Il y a visiblement un problème au niveau de la variable Ctr (ou de la syntaxe).
Quelqu'un pourrait-il m'aider ? Merci par avance (je ne suis pas opposé à une autre solution que celle de VBA).
J'ai exporté des données d'un logiciel sous excel afin de pouvoir mieux les exploiter.
Une fois exportées sous excel, ces données apparaissent sous le format suivant "11.222,33" et ne sont pas reconnues comme des données numériques par excel (quand je sélectionne 2 cellules contenant des données, j'ai le résultat suivant tout en bas dans la "barre d'état" d'excel : somme=0).
Pour y remédier, j'ai décidé d'utiliser la fonction convertir que l'on trouve dans le menu données d'excel, ce qui résout effectivement mon problème.
Le problème maintenant est que cette fonction convertir ne peut être appliquée que sur une colonne à la fois et que mon tableau en contient 6.
J'ai donc décidé de passer par VBA :
Sub Essai()
'
' Essai Macro
' Macro enregistrée le 28/08/2008 par
'
'For Ctr=3 To 8
Columns(&Ctr":"&Ctr).Select
ActiveWindow.SmallScroll ToRight:=-2
Selection.TextToColumns Destination:=Range("C4"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, OtherChar _
:="¤", FieldInfo:=Array(1, 1), ThousandsSeparator:=".", _
TrailingMinusNumbers:=True
End Sub
Il y a visiblement un problème au niveau de la variable Ctr (ou de la syntaxe).
Quelqu'un pourrait-il m'aider ? Merci par avance (je ne suis pas opposé à une autre solution que celle de VBA).
A voir également:
- Fonction convertir dans Excel
- Fonction si et excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Fonction moyenne excel - Guide
2 réponses
Bonjour,
cette macro convertit tes textes de ce format 11.222,33 et autres en nombres et ignore les autres( attention il faut toujours 2 décimales!)
Tu as intérêt à délimiter ta zone d'action (dans la démo: C1:G100)
cette macro convertit tes textes de ce format 11.222,33 et autres en nombres et ignore les autres( attention il faut toujours 2 décimales!)
Tu as intérêt à délimiter ta zone d'action (dans la démo: C1:G100)
Sub convertir()
Dim cellule As Range
Application.ScreenUpdating = False
For Each cellule In Range("C1:G100")
If cellule Like "##[.]###[,]##" Then
With cellule
.Replace ".", ""
.Value = CDec(cellule)
End With
End If
Next cellule
End Sub
J'ai testé en prenant soin de modifier la plage de cellules, mais rien ne se passe (formats inchangés et chiffres toujours pas exploitables en tant que valeurs numériques).