IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Exporter une page Excel vers un Fichier Txt


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 10
    Points
    10
    Par défaut [VBA-E] Exporter une page Excel vers un Fichier Txt
    Bonjour a tous,

    J'espere que je poste au bon endroit... (;^_^)

    But
    Transferer les donnees d'une page excel quelconque (Celle active en fait) vers un fichier .txt

    Etat des lieux
    J'arrive a: - Creer mon fichier txt
    - Ecrire du texte dedans
    Mais je n'arrive pas a lire la feuille Excel.
    Voici la partie de code concernee.
    Je ne suis vraiment pas familier avec les "fonctions VB d'excel".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Function Parsing_xls()
     
        Dim tmp_str As String
        Dim i As Integer
     
     
        tmp_str = ""
        tmp_str = tmp_str & "// Screen List"
        tmp_str = tmp_str & "const GAMEN_TABLE main_gamen_flame_table[] = {" & Chr(10)
        i = rStart_Line
     
     
          While (Worksheets(ActiveWorkbook.ActiveSheet).Cells(i, Name_Col).Value <> "")       'Excel file parsing
                'Chr (9) = tabulation
                tmp_str = tmp_str & Chr(9) & "{" & Worksheets(ActiveWorkbook.ActiveSheet).Cells(i, File_Col).Value & "_INIT"
                i = i + 1
                tmp_str = tmp_str & ", " & Worksheets(ActiveWorkbook.ActiveSheet).Cells(i, File_Col).Value & "_INIT"
                i = i + 1
                tmp_str = tmp_str & ", " & Worksheets(ActiveWorkbook.ActiveSheet).Cells(i, File_Col).Value & "_INIT},"
                i = i + 1
                tmp_str = tmp_str & Create_Comment(i - 3)    'Create_Comment ajoute des commentaires en fin de ligne
         Wend
     
        tmp_str = tmp_str & Chr(10) & "};" & Chr(10)
     
        Parsing_xls = tmp_str
     
     
    End Function
    Question

    Apparement la condition du While ne lui plait pas du tout.
    Est ce que quelqu'un connaitrait la bonne syntaxe pour retourner la valeur d'une case du fichier excel actif dans la feuille active?

    D'avance merci m(_ _)m
    A plus
    Mam's

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    bien déjà tu peu modifier le while ..:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    While (ActiveWorkbook.ActiveSheet.Cells(i, Name_Col).Value <> "")       'Excel file parsing
    ....
    ou est défini et initialisé Name_col ..? c'est un entier, contenant le numéro de colonne surveillée....?

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Si tu ne dois pas te promener dans plusieurs feuilles ou classeurs, cette syntaxe est plus que suffisante pour la feuille active:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While Cells(i, Name_Col).Value <> ""
    Si tu veux jouer le perfectionnisme, tu peux créer une instance de la feuille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim wksSrc As Worksheet
    Set wksSrc = ActiveSheet
    While wksSrc.Cells(i, Name_Col).Value <> ""
      ...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par bbil

    ou est défini et initialisé Name_col ..? c'est un entier, contenant le numéro de colonne surveillée....?
    Oui c'est ca.



    En tout cas merci de vous etre penchez sur le sujet.
    De mon coter, j'ai fini par mettre la mains sur la solution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Function Parsing_xls()
     
        Dim tmp_str As String
        Dim i As Integer
        Dim wb
     
     
        tmp_str = ""
        tmp_str = tmp_str & "// Screen List" & Chr(10)
        tmp_str = tmp_str & "const GAMEN_TABLE main_gamen_flame_table[] = {" & Chr(10)
        i = rStart_Line
     
     
          While (Workbooks(ActiveWorkbook.Name).Worksheets(ActiveSheet.Name).Cells(i, Name_Col).Value <> "")       'Excel file parsing
                'Chr (9) = tabulation
                i = i + 2
                tmp_str = tmp_str & Chr(9) & "{" & Workbooks(ActiveWorkbook.Name).Worksheets(ActiveSheet.Name).Cells(i, File_Col).Value & "_INIT"
                tmp_str = tmp_str & ", " & Workbooks(ActiveWorkbook.Name).Worksheets(ActiveSheet.Name).Cells(i, File_Col + 1).Value & "_INIT"
                tmp_str = tmp_str & ", " & Workbooks(ActiveWorkbook.Name).Worksheets(ActiveSheet.Name).Cells(i, File_Col + 2).Value & "_INIT},"
                i = i + 1
                tmp_str = tmp_str & Create_Comment(i - 3)
         Wend
     
        tmp_str = tmp_str & Chr(10) & "};" & Chr(10)
     
        Parsing_xls = tmp_str
    End Function

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(ActiveWorkbook.Name).Worksheets(ActiveSheet.Name).Cells(i, Name_Col).Value
    Renvois la cellule a la position i, Name_Col, de la feuille activee dans le book activer.
    ActiveSheet.Name et ActiveWorkbook.Name renvoient respectivement le nom de la feuille active et celui du biook actif.


    Merci encore
    A plus tard
    mam's

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Autrement dit, pourquoi faire simple quand on peut faire compliqué???
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/07/2010, 12h02
  2. Exporter une DB Access vers un fichier Excel
    Par miss_java dans le forum C#
    Réponses: 1
    Dernier message: 12/08/2008, 16h03
  3. [VBA-E] Copier une feuille excel d'un fichier A vers un fichier B
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 22/03/2007, 10h49
  4. [Excel] Exporter un tableau d'une page php vers un fichier Excel
    Par griese dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 04/07/2006, 10h50
  5. Importer donnees texte d'une page Excel vers la base Paradox
    Par kikica dans le forum Bases de données
    Réponses: 10
    Dernier message: 29/03/2006, 10h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo