[VBA] - Problème convertion données
VBA beginner
-
Mosca -
Mosca -
Bonjour,
Je souhaite convertir les données d'une colonne pour avoir des nombres (car au départ certains ont des "." séparateurs de milliers, des espaces avant le début du nombre etc bref).
En réalisant l'action : sélectionner la colonne / données / convertir les données / suivant / suivant / avancé (pour mettre "," comme séparateur de décimale et "." comme séparateur de milliers (bien que ça ne soit pas tjs le cas !) et en décochant la case sur "signe moins à la fin des nombres négatifs"), cela fonctionne !
En revanche, le code suivant, obtenu par enregistrement de cette macro exactement ne fonctionne plus en éxécutant la macro :
J'ai regardé les paramètres que je pouvais ajouter dans le code mais je ne vois pas ...
Comme j'ai besoin de l'utiliser via Access, j'ai absolument besoin de pouvoir faire ça en VBA !!
Merci de m'aider !!
Je souhaite convertir les données d'une colonne pour avoir des nombres (car au départ certains ont des "." séparateurs de milliers, des espaces avant le début du nombre etc bref).
En réalisant l'action : sélectionner la colonne / données / convertir les données / suivant / suivant / avancé (pour mettre "," comme séparateur de décimale et "." comme séparateur de milliers (bien que ça ne soit pas tjs le cas !) et en décochant la case sur "signe moins à la fin des nombres négatifs"), cela fonctionne !
En revanche, le code suivant, obtenu par enregistrement de cette macro exactement ne fonctionne plus en éxécutant la macro :
Columns("C:C").Select Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 1), DecimalSeparator:=",", ThousandsSeparator:=".", TrailingMinusNumbers:=False
J'ai regardé les paramètres que je pouvais ajouter dans le code mais je ne vois pas ...
Comme j'ai besoin de l'utiliser via Access, j'ai absolument besoin de pouvoir faire ça en VBA !!
Merci de m'aider !!
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- [VBA] - Problème convertion données
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Sauvegarde des données - Guide
- Excel validation des données liste - Guide
2 réponses
Bonjour,
Comme j'ai besoin de l'utiliser via Access
Boh oui!! Mais comment accedez-vous a ce fichier excel ??
Comme j'ai besoin de l'utiliser via Access
Boh oui!! Mais comment accedez-vous a ce fichier excel ??
Bonjour,
Faire d'abord le ménage, c'est-à-dire supprimer les espaces et les points
Ensuite mettre en forme
Cordialement
Faire d'abord le ménage, c'est-à-dire supprimer les espaces et les points
Ensuite mettre en forme
'supprimer les espaces
Columns("C:C").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'supprimer les points
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'mise en forme
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), DecimalSeparator:=",", TrailingMinusNumbers:=False
Cordialement
Dim xlApp As Excel.Application
Dim FiletoOpen As String
' Créer un objet Excel
' (ce qui équivaut à démarrer Excel à distance)
Set xlApp = CreateObject("Excel.Application")
With xlApp
' Rendre Excel visible
.Visible = True
Dim vCell As Range
'récupération du nom et du chemin du fichier
FiletoOpen = .Application.GetOpenFilename("xls Files (*.), *.xls")
' Ouverture du fichier
.Workbooks.Open FiletoOpen
' DEBUT MISE EN FORME
Et c'est là ensuite que j'ai besoin de réaliser ma manoeuvre
Si le fichier ne s'ouvre pas sur la bonne feuille, la definir
autrement mettez un point devant Columns vu que cela "appartient" au bloc Wtih/end with