Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

format csv

JANO

XLDnaute Occasionnel
Bonjour le forum

j'utilise la macro (créer avec l’enregistreur) ci-dessous pour convertir (une info par colonne).

j’ai des informations qui commencent par zéro et du coup y saute.
Ma question est donc : comment ajouter à la macro ; si valeur commence par zéro mettre format texte
Merci de votre aide


Sub format_CSV()

Columns("A:A").Select

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 2), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array( _
39, 1), Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array( _
45, 1), Array(46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1)), TrailingMinusNumbers:=True

Range("a1").Select
End Sub
 

Pièces jointes

  • test.xlsm
    15.9 KB · Affichages: 49
  • test.xlsm
    15.9 KB · Affichages: 52
  • test.xlsm
    15.9 KB · Affichages: 61

Pierrot93

XLDnaute Barbatruc
Re : format csv

Bonjour,

petite remarque au passage, pourquoi ne pas appliquer à la colonne en question un format personnalisé du style :
Code:
00000
nombre de zéros à adapter...

bon après midi
@+
 

Misange

XLDnaute Barbatruc
Re : format csv

Bonjour

Sinon, en alternative à la réponse de Pierrot, formates la colonne contenant des nombres à mettre en texte, ainsi au passage que celle contenant des dates au moment où tu fais la conversion.
L'enregistreur de macros (un peu nettoyé) donne alors cela
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, _
Semicolon:=True, FieldInfo _
:=Array(Array(1, 2), Array(2, 1), Array(3, 4), Array(4, 1), Array(5, 2)), _
TrailingMinusNumbers:=True
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…