Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2930 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Génération fichier textes formatés depuis VB Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Génération fichier textes formatés depuis VB Excel

n°1660976
Benjam-1
Posté le 20-12-2007 à 09:59:15  profilanswer
 

Bonjour,
 
Je suis un peu en lute avec Visual Basic excel... Voici ce que je cherche à faire.
 
Récupérer des données dans des cellules pour les mettre dans un fichier texte.
Jusqu'ici rien de réellement problématique...
 
Mais les données dans le fichiers txt doivent être placées de manière précise :
Cellule B1 du caractère 1 à 10,
Un espace de 20 caractères,
Cellule B2 du caractère 30 à 45... Ect
 
Le problème c'est que la cellule B1 ne fait pas forcement 10 caractère et en fonction de la cellule je peux choisir de combler à gauche ou à droite par des espaces ou des caractères.
 
Je suis bloqué sur cette partie la.  
 
Pour info je suis un noob sur VB (au cas ou vous n'auriez pas remarqué  :D  )
 
Benjam
 
Merci d'avance pour votre aide

mood
Publicité
Posté le 20-12-2007 à 09:59:15  profilanswer
 

n°1661184
kiki29
Posté le 20-12-2007 à 12:59:27  profilanswer
 

Jour Bon, une ébauche à toi de l'affiner et adapter


Option Explicit
 
Sub Tst()
Dim Fichier As Variant
    ChDrive ThisWorkbook.Path
    ChDir ThisWorkbook.Path
    If IsEmpty(ShDatas.UsedRange) Then
        MsgBox "Feuille Vide : Rien à enregistrer", vbOKOnly + vbInformation, "Info"
        Exit Sub
    End If
    Fichier = Application.GetSaveAsFilename(InitialFileName:="Essai", fileFilter:="Fichier Txt (*.txt), *.txt" )
    If Fichier <> False Then Ecrire Fichier
End Sub
 
Private Sub Ecrire(ByVal NomFichier As String)
Dim Chaine As String
Dim r As Long, c As Integer
Dim NumFichier As Integer
Dim FirstRow As Long, FirstCol As Integer
Dim LastRow As Long, LastCol As Integer
 
    With ShDatas
        FirstRow = .Cells.Find("*", .Cells(.Cells.Count), xlFormulas, xlWhole, xlByRows, xlNext).Row
        LastRow = .Cells.Find("*", .Cells(.Cells.Count), xlFormulas, xlWhole, xlByRows, xlPrevious).Row
        FirstCol = .Cells.Find("*", .Cells(.Cells.Count), xlFormulas, xlWhole, xlByColumns, xlNext).Column
        LastCol = .Cells.Find("*", .Cells(.Cells.Count), xlFormulas, xlWhole, xlByColumns, xlPrevious).Column
    End With
     
    Close
    NumFichier = FreeFile
 
    Open NomFichier For Output As #NumFichier
        For r = FirstRow To LastRow
            Chaine = ""
            For c = FirstCol To LastCol
                Chaine = Chaine & Cells(r, c) & String(20 - Len(Cells(r, c)), " " )
            Next c
            Print #NumFichier, Chaine
        Next r
    Close #NumFichier
End Sub


Message édité par kiki29 le 20-12-2007 à 14:02:07
n°1661246
Benjam-1
Posté le 20-12-2007 à 14:50:41  profilanswer
 

Jou Bon à toi Kiki,
 
(j'avais pourtant dit que j'étais un noob)
 
 :whistle:  
 
Je n'ai pas tout compris.
 
Par contre ce qui est sur c'est que j'ai repéré des bouts de codes qui vont m'être bien utiles !
 
Quand au reste je pense que l'aide VB y répondra ;-)
 
Merci encore pour ton aide,
 
 :hello:  
 
Bye
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Génération fichier textes formatés depuis VB Excel

 

Sujets relatifs
[IIS/Javascript] Problème de fichier .jsNumérotation automatique sur Excel
[langage C] Exercice déplacement et renommer fichier[Resolu] [Problème] [Perl,Tableaux] lire un fichier texte
Excel: imposer une mise en forme selon valeur dans une casePlanning assisté excel; besoin de formules VB pour deux problématiques
fichier batch[résolu] Automatiser une fonction excel sur vba
Enregistrer les paramètres d'un fichier de configurationOptimisation Comparer deux colonnes en VBA sous Excel
Plus de sujets relatifs à : Génération fichier textes formatés depuis VB Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR