Macro excel

Résolu
nyark Messages postés 106 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

je suis en train de faire une macro excel pour générer une liste de nbr aléatoire à enregistrer sur un document .txt.

je génère cette liste sur plusieurs colonne.
A l'enregistrement en .txt, est il possible de mettre toutes les colonnes les unes à la suite des autres et non pas les une a cote des autres comme vu par excel

merci

9 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Si je comprend bien, pourquoi pas générer tes nombres directement en lignes plutôt qu'en colonnes ?
    Mais si pas possible..
    Voir avec la fonction Collage Spécial >> Transpose.
    A+
    0
  2. nyark Messages postés 106 Statut Membre 2
     
    je veux tout mettre sur 1 colonnes dans le fichier txt.
    le pb est que j'ai environ 30000 lignes sur 300 colonnes.
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Ouups.. tu va avoir un fameux fichier :-(
    Tu veux les colonnes l'une en dessous de l'autre ?
    Colonne A.. puis en dessous colonne B etc..
    0
  4. nyark Messages postés 106 Statut Membre 2
     
    oui c'est sa mais dans le fichier txt car dans le fichier excel pas possible
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Quel est la destination du fichier Txt, parce que l'enrégistrement risque de prendre un certain temps.
    0
  7. nyark Messages postés 106 Statut Membre 2
     
    sur le pc en local dans mes documents
    0
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      C'était pas ma question, faire quoi avec ce fichier ?
      Ca déterminera la solution à adopter.
      0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Une solution.. Attention, si tu veux mettre sur le C faudra ouvrir Excel en mode Admin.
    Sub SauveEnTxt()
    Dim Col As Long, Lig As Long, NbLig As Long
    Dim Fich As Integer
        Fich = FreeFile
        Open "D:\FichierTxt.txt" For Output As #Fich
        With Sheets("Feuil2")
            Col = 1: NbLig = .Range("A65536").End(xlUp).Row
            While .Cells(1, Col) <> ""
                For Lig = 1 To NbLig
                    Print #Fich, Cells(Lig, Col)
                Next Lig
                Col = Col + 1
            Wend
        End With
    End Sub

    A+
    0
  9. nyark Messages postés 106 Statut Membre 2
     
    c'est exactement sa qu'il me faut.

    merci
    0
  10. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Tant mieux..
    Mais pour éviter d'éventuel prob.. ajouter..
        End With 
        Close #Fich
    End Sub

    A+
    L'expérience instruit plus sûrement que le conseil. (André Gide)
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    0