Convertir des colonnes via une macro
SandrineMAM
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
J'ai un fichier Excel qui est généré via un outil de BI. Ce fichier contient des dates, des chiffres, etc. mais tout est considéré comme du "texte" à la base (format "Standard" pour Excel), du coup, toutes les valeurs s'affichent alignées à gauche et ne sont pas exploitable correctement (ex: les dates sont considérée comme du texte et on ne peut donc pas les exploiter correctement via les filtres).
Par contre, si je sélectionne la colonne, puis que je fais onglet Données/Convertir/Terminer, alors les champs se formatent correctement. Action relativement simple, néanmoins, j'ai 49 colonnes!
Comment automatiser ce "Convertir/Terminer" pour chaque colonne via une petite boucle dans une macro (par exemple) ?
Merci pour votre aide.
Cordialement,
Sandrine
J'ai un fichier Excel qui est généré via un outil de BI. Ce fichier contient des dates, des chiffres, etc. mais tout est considéré comme du "texte" à la base (format "Standard" pour Excel), du coup, toutes les valeurs s'affichent alignées à gauche et ne sont pas exploitable correctement (ex: les dates sont considérée comme du texte et on ne peut donc pas les exploiter correctement via les filtres).
Par contre, si je sélectionne la colonne, puis que je fais onglet Données/Convertir/Terminer, alors les champs se formatent correctement. Action relativement simple, néanmoins, j'ai 49 colonnes!
Comment automatiser ce "Convertir/Terminer" pour chaque colonne via une petite boucle dans une macro (par exemple) ?
Merci pour votre aide.
Cordialement,
Sandrine
A voir également:
- Convertir des colonnes via une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment faire des colonnes sur word - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule moyenne excel plusieurs colonnes - Guide
- Déplacer une colonne excel - Guide
1 réponse
Bonjour,
Comme ceci:
Comme ceci:
Sub For_X_to_Next_Colonne()
Dim FL1 As Worksheet, NoCol As Integer
Dim colonne As String
Set FL1 = Worksheets("Feuil1") 'a adapter
For NoCol = 1 To Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
colonne = Split(Columns(NoCol).Address(ColumnAbsolute:=False), ":")(1) 'converti colonne en lettre
Columns(colonne & ":" & colonne).Select
Selection.TextToColumns Destination:=Range(colonne & "1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Next
Set FL1 = Nothing
End Sub