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 :

programme en vba qui permet le transfert des données word vers excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Points : 11
    Points
    11
    Par défaut programme en vba qui permet le transfert des données word vers excel
    Bonjour et bonne fête pour vous

    J’ai une application c’est le transfert des données de Word vers Excel pour cela je voudrais créer un programme en vba en excel qui me permet de :
    1-créer une copie de document original Word.mais je voudrai que cette copie reste invisible .
    2-conversion des données de la copie de document Word a un tableau.
    3-Transfer de tableau Word vers Excel.

    Je ne sais pas comment faire pour créer une copie d’un document Word
    J’ai créé une macro qui me permet la conversion des données de Word en tableau.
    J’ai un programme qui Transfer un tableau de Word vers Excel.
    Mais je voudrais savoir s’il est possible de créer un programme qui regroupe tous les étapes 1,2 et 3
    vraiment je me suis bloquée et j'ai besoin d'aide des idées des solutions....s'il est possible ou c impossible .....
    Je suis debutante , c'est pour ça que je demande de l'aide. Ce n'ai absolument pas pour que l'on me fasse le travail
    Merci d’avance pour vos réponses
    dans les piéces jountes il y a un petit exemple comme mon pplication :
    Fichiers attachés Fichiers attachés

  2. #2
    Membre régulier Avatar de DidierLoche
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 84
    Points : 105
    Points
    105
    Par défaut
    Bonjour,

    Est-ce que ce code te convient ?
    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
    31
    32
    33
    34
    35
    36
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 27/12/2008 par Didier
    '
     
    '
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Dim ligne As Long
     
    On Error Resume Next
    Kill "C:\Users\Didier\Documents\VBA\Temp.doc" ' si jamais il existe déjà
    On Error GoTo 0
    FileCopy "C:\Users\Didier\Documents\VBA\etudiants.doc", "Temp.doc" ' création d'une copie du fichier Word
    Set WordApp = CreateObject("word.application")    'ouvre une session Word
    Set WordDoc = WordApp.Documents.Open("C:\Users\Didier\Documents\VBA\Temp.doc")    'ouvre le document Word
    WordApp.Visible = False    'Word est masqué pendant l'opération
    N_lignes = WordDoc.Paragraphs.Count ' Nombre de paragraphes (=nombre de lignes dans ton cas
     
    For ligne = 1 To N_lignes
        Texte = WordDoc.Paragraphs.Item(ligne).Range.Text ' récupération du texte
        If InStr(1, Texte, ":") > 0 Then
        nom = RTrim(Left(Texte, InStr(1, Texte, ":") - 1)) ' séparation du nom : suppression des blancs à droite
        numéro = CInt(Mid(Texte, InStr(1, Texte, ":") + 1, Len(Texte))) ' récupération du nombre
        Cells(ligne, 1) = nom ' enregistrement dans Excel
        Cells(ligne, 2) = numéro
        End If
    Next ligne
     
    WordApp.Visible = True    'affiche le document Word
     
    WordDoc.Close False 'ferme le document word en sauvegardant les données
    WordApp.Quit 'ferme la session Word
    Kill "C:\Users\Didier\Documents\VBA\Temp.doc" ' supprime le fichier temporaire
    End Sub
    Didier

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Merci Didier il me convient un peux une petite question svp et si j'ai pas un separateur comment je peux le faire ?par exemple j'ai
    ( Adnan 122
    KAWTAR 12
    Anna 1 )
    sans le separateure ( : ) merci d'avance pour votre reponse .

  4. #4
    Membre régulier Avatar de DidierLoche
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 84
    Points : 105
    Points
    105
    Par défaut
    Bonsoir,

    Dans les InStr, il suffit de remplacer les ":" par " ".
    A voir s'il ne faut pas utiliser Trim pour épurer un peu les lignes (suppression des espaces en début et fin de ligne.

    Bonne soirée et bonne année,

    Didier

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    merci c'est très gentil de ta part merci une autre fois egalement a vous bonne année

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Transférer des données de Word vers Excel via une macro
    Sur un document word de plusieurs dizaines de pages, j’ai des informations les unes à la suite des autres toutes présentées de la même manière. En gros, une page = une description textuelle sur plusieurs lignes et deux tableaux. Par exemple ça pourrait être ce qui suit :

    Titre : on va à la plage
    Nom : Bidule
    Prénom : Machin
    Age : 25

    Titre, Nom, Prénom et Age étant des constantes pour chaque page de description comme vous pouvez l’imaginer, ce qui m’intéresse moi c’est de récupérer les champs informatifs et bien entendu variables tels que « on va à la plage », « Bidule », « Machin » et « 25 » pour les insérer chacun dans des cellules appropriées d’un fichier excel. En somme, pour faire un classement sous forme de colonnes.
    Pour une description toujours sur ce fichier word, j’ai aussi des informations sous forme de tableau que j’aimerai récupérer de la même façon pour également les mettre dans mon fichier excel.
    Une colonne d’un de mes tableaux sous word numérote des actions à effectuer. En fait, cette numérotation indique exactement le nombre de lignes d’une description sur excel. Si j’ai 6 actions, j’aurai donc 6 lignes. Cette colonne est d’ailleurs à reporter dans excel à l’identique.
    Evidemment, une fois une description entrée sous excel, les autres doivent venir à la suite. Il ne faut bien sûr pas écraser ce qui vient d’être écrit…
    Une macro peut-elle faire ce travail répétitif ? Si une bonne âme avait une solution qui marche je lui en serais infiniment reconnaissant avec des explications afin d’avoir quelques bases pour m’en sortir tout seul la prochaine fois… Merci

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

Discussions similaires

  1. Application Java web qui permet d'intégrer des données XML dans une base Oracle
    Par honesttrick dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 22/10/2014, 10h50
  2. Réponses: 6
    Dernier message: 22/03/2012, 12h24
  3. Réponses: 5
    Dernier message: 06/08/2009, 12h10
  4. Transfert de données Word vers Excel via macro
    Par Pascalou2008 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/03/2008, 22h02
  5. Envoyer des données mysql vers Excel
    Par thierry198 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 09/11/2005, 19h59

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