XL 2010 macro pour mise en forme avec fichier texte

matoupitou

XLDnaute Occasionnel
bonjour les Balaises et par avance MERCI

est-il possible de créer une macro qui permettrait d'avoir les références de la colonne A (quelque soit leur nombre - 3 lignes comme 100 et + possible ) pour les avoir figées en texte sur 13 positions.

je passe par un fichier texte car je n'arrive pas à figer le format texte autrement

en pj les documents pour éclairer mon bla-bla

je croise les doigts - merci de m'apprendre
 

Pièces jointes

  • Retour1.xlsx
    117.8 KB · Affichages: 10
  • eantxt.txt
    285 bytes · Affichages: 9

matoupitou

XLDnaute Occasionnel
VB:
Option Explicit
Sub Test()
   Dim Rng As Range, T(), L As Long
   Set Rng = Selection
'    if rng.rows.count=1 then set rng=rng.resize(rng(1000000,1).end(xlup).row - rng.row + 1)
   T = Rng.Value
   For L = 1 To UBound(T, 1)
      If VarType(T(L, 1)) = vbDouble Then T(L, 1) = "'" & Format(T(L, 1), String$(13, "0"))
      Next L
   Rng.Value = T
   End Sub
trop hâte d'essayer merci merci merci
 

matoupitou

XLDnaute Occasionnel
VB:
Option Explicit
Sub Test()
   Dim Rng As Range, T(), L As Long
   Set Rng = Selection
'    if rng.rows.count=1 then set rng=rng.resize(rng(1000000,1).end(xlup).row - rng.row + 1)
   T = Rng.Value
   For L = 1 To UBound(T, 1)
      If VarType(T(L, 1)) = vbDouble Then T(L, 1) = "'" & Format(T(L, 1), String$(13, "0"))
      Next L
   Rng.Value = T
   End Sub


mais soyez BENI - c'est trop trop bien ça fonctionne
 

patricktoulon

XLDnaute Barbatruc
re
bonjour juste en passant
VB:
Sub test()
    Dim CnXL As Object, rst As Object, NomFichier$, NomRepertoire$, strSQL$, CeL

    [A:A].NumberFormat = "0000000000000"

    Set CnXL = CreateObject("ADODB.Connection")

    Set rst = CreateObject("ADODB.RecordSet")

    NomFichier = "eantxt.txt"    'adapter le nom du fichier

    NomRepertoire = "C:\Users\patricktoulon\Downloads\"    'adapter le nom du repertoire

    CnXL.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & NomRepertoire & ";Extended Properties=""Text;HDR=YES;FMT=tabDelimited""")

    strSQL = "SELECT * FROM [" & NomFichier & "]"

    Set rst = CnXL.Execute(strSQL)

    [A1].CopyFromRecordset rst

    Columns(1).AutoFit

    For Each CeL In [A:A].Resize(ActiveSheet.UsedRange.Rows.Count).Cells
        CeL.Value = "'" & CeL.Text
    Next
    
    [A:A].NumberFormat = "@"
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh