EXPORT de données Excel en .TXT

D

Dagada75

Guest
Bonjour à tous,

Je suis consultant junior sur SAP et j'ai besoin de votre expertise sur Excel et le VBA.

Là vous vous dîtes : "SAP ? Excel? .. il s'est trompé de forum le jeune homme !!"

Et bien non. Je m'explique.

L'injection de données en masse dans SAP peut se faire via la méthologie batch input; c'est à dire l'injection d'un dossier .TXT dans SAP.

Pour obtenir mon fichier TXT, je renseigne au préable un classeur EXCEL.

La difficulté majeure est que chaque cellule de mon fichier Excel doit avoir un nombre définit de caractères; et que ce nombre de caractère DOIT ETRE TRANSPOSER dans mon fichier .TXT lors de l'export pour l'injection marche dans SAP.

Concrètement ; soit une cellule A1 avec l'obligation de 20 caractères et B1 l'obligation de 10 caractères; soit les termes A1="CHIEN"et B1="CHAT"; mon fichier TXT une fois exporté devra ressembler à ceci (je schématise la prise en compte des espaces blancs par des * ) :

CHIEN***************CHAT******

Voilà ... j'attend de vos nouvelles avec impatience.

Merci.

:eek:)
 
C

CBernardT

Guest
Bonsoir Dagada75

Je te propose la macro suivante :

Sub AjouterEspace()
Dim Plage As Range, C As Range
Dim i As Byte

Set Plage = Range("A1:A6") 'Définit la zone de travail
For Each C In Plage
For i = Len(C) To 19 'Boucle sur nombre d'espace à rajouter -1
C = C & " " 'Ajout d'un espace
Next i
Next C
End Sub

Cordialement

CBernardT
 
D

Dagada75

Guest
Merci BEAUCOUP pour votre réponse !

On approche du but !!!

Je cherche a combiner votre solution avec une macro qui avait déja été proposé par (Auteur: Vériland (---.w81-53.abo.wanadoo.fr) et qui se chargeait de l'export des données excel en un fichier TXT. Cependant on ne parvenait pas à maintenir un nombre de caractères définis par cellule une fois les données exportées.

Si quelqu'un arrive à "fusionner" les 2 macros, nous aurons atteint le but fixé et je serai le premier à plébisciter ce site ô combien pratique et convivial.

Merci pour tout. Sincèrement.

Macro EXPORT

Date: 16-06-03 18:48)


Option Explicit
' Vériland Juin 2003
' Macro TXT pour Ln2
' Forum Excel-Downloads (http://www.Excel-downloads.com)

Sub EcrireEnColonneTXT()
Open "c:windows\bureau\MonFichier.txt" For Output As 1
Dim i As Integer, derniereligne As Integer
Sheets("Feuil1").Select
derniereligne = [a65536].End(xlUp).Row
For i = 1 To derniereligne
Print #1, Cells(i, 1).Value, Cells(i, 2 ).Value, _
Cells(i, 3).Value, Chr(32)
Next
Close
End Sub
 

Discussions similaires

M
Réponses
9
Affichages
477
Maikales
M

Statistiques des forums

Discussions
312 329
Messages
2 087 331
Membres
103 519
dernier inscrit
Thomas_grc11