Bonjour tout le monde,
j'ai un fichier excel avec une colonne contenant des quantités de produits. cette colonne comporte aussi l'unité du produit. j'ai voulu faire une macro pour convertir ma colonne en deux colonnes (une quantité et une unité) pour faire ensuite des calculs (somme...) ca marche quand je fais l'opération convertir... mais si je passe par la macro ca ne marche pas
ci dessous la macro :
Columns("A:A").Select
Application.CutCopyMode = False
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, OtherChar _
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1))
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Range("G28").Select
ci joint les fichiers entrée et sortie
je pense que le probleme vient du format de la colonne initiale (séparateur de millier = ".") et vb n'interprete pas de la meme maniere que excel.
exemple d'erreur : une valeur à 500 passe à 500000
Merci d'avance pour votre aide
Bruno
j'ai un fichier excel avec une colonne contenant des quantités de produits. cette colonne comporte aussi l'unité du produit. j'ai voulu faire une macro pour convertir ma colonne en deux colonnes (une quantité et une unité) pour faire ensuite des calculs (somme...) ca marche quand je fais l'opération convertir... mais si je passe par la macro ca ne marche pas
ci dessous la macro :
Columns("A:A").Select
Application.CutCopyMode = False
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, OtherChar _
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1))
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Range("G28").Select
ci joint les fichiers entrée et sortie
je pense que le probleme vient du format de la colonne initiale (séparateur de millier = ".") et vb n'interprete pas de la meme maniere que excel.
exemple d'erreur : une valeur à 500 passe à 500000
Merci d'avance pour votre aide
Bruno