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 :

[Macro] Copie de Word vers Excel : mise en formule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Par défaut [Macro] Copie de Word vers Excel : mise en formule
    Bonjour à tous,

    Comme mon intitulé n'est pas limpide, je vais m'expliquer:
    j'ai fait une macro qui copie un paragraphe de Word vers Excel. Le problème se produit quand se paragraphe comment par un tiret comme par exemple :

    - ceci est mon paragraphe.

    Quand la macro le selectionne, le copie et le colle dans une cellule excel, le texte se transforme en :
    =- ceci est mon paragraphe.
    Il prend le tiret pour un moins et donc transforme mon paragraphe en formule, qui s'affiche logiquement dans ma feuille par #NOM?

    Quelqu'un a-t-il une idée pour résoudre ce problème?
    D'avance merci,
    Marc

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Je ne connais pas ta procédure pour coller le texte dans le fichier Excel mais essaye ceci en l'adaptant à ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PasteSpecial Format:="Texte"

  3. #3
    Membre chevronné
    Inscrit en
    Janvier 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 483
    Par défaut
    Bonsoir
    Pour Excel c’est fonction non reconnue pour cela il affiche #NOM? Peut être qu'il faut précéder le signe - par un apostrophe comme ça
    ' - ceci est mon paragraphe.
    Bonne soirée
    Abed_H

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Par défaut RE
    Bonjour,

    Fring =>
    la ligne de collage est celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RECH.Sheets("Résultats").Cells(m, 4).PasteSpecial Paste:=xlValues, Operation:=xlNone
    J'avais en effet déjà essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RECH.Sheets("Résultats").Cells(m, 4).PasteSpecial Paste:=xlText, Operation:=xlNone
    Mais ça ne marchait pas
    Celle là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RECH.Sheets("Résultats").Cells(m, 4).PasteSpecial Format:="Text", Operation:=xlNone
    génère une erreur...

    Abed_H =>
    Le problème est que je n'ai pas le droit de modifier le document Word de base pour enlever les tirets. Une fois le collage effectué, la cellule devient tout de suite une formule et j'ai pas trouvé le moyen de la modifié automatiquement pour rajouter un caractère devant...

    Merci pour vos réponses,
    Marc

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par ML0808 Voir le message
    Bonjour,
    RECH.Sheets("Résultats").Cells(m, 4).PasteSpecial Format:="Text"
    génère une erreur...
    Oui deux choses :
    - lorsqu'on utilise PasteSpecial, il faut passer par des Select
    - Format:="Texte" et pas "Text"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Résultats").Select
    Cells(m, 4).Select
    ActiveSheet.PasteSpecial Format:="Texte"

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Par défaut Re
    En effet, au temps pour moi.
    Avec ta formulation, ça copie/colle en effet, mais le problème persiste!
    Merci pour votre aide

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Il ne faut pas copier et coller le texte, mais directement l'utiliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.Paragraph(1).range.text
    Correspond à la plage contenant les données.

    Normalement, le problème ne devrait plus persister.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par Abed_H Voir le message
    Bonsoir
    Pour Excel c’est fonction non reconnue pour cela il affiche #NOM? Peut être qu'il faut précéder le signe - par un apostrophe comme ça Bonne soirée
    Abed_H
    Tu n'as pas compris la réponse d'Abed_H.
    Quand tu colles ton paragraphe, ajoute "'" au début. Tu auras ainsi
    "'- LeParagraphe" dans la cellule.
    L'apostrophe (invisible dans Excel) permet de dire qu'il s'agit d'un texte, non d'une formule.
    A toutes fins utiles

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RECH.Sheets("Résultats").Cells(m, 4).Value = wrdApp2.wrdDoc.Paragraph(pg).Range.Text
    donne "Propriété ou méthode non générée par cet objet"... qu'ai-je mal fait?

    ouskel'l'nor : oui, j'y ai pensé mais si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(x,y).PasteSpecial
    , il me le colle direct dans la cellule, comment y caser un " " avant?

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu fais ça sur deux lignes
    Mets ton code de copie qu'on t'arrange ça...
    A+

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Par défaut Re:
    Voilà!:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ' Copie le paragraphe contenant le résultat
    wrdApp2.Selection.Copy
    ' Place le curseur à droite du paragraphe copié pour continuer la recherche dans la suite du document
    wrdApp2.Selection.Moveright , Extend:=0
     
     
    ' Colle le résultat dans la feuille "Résultat"
        RECH.Sheets("Résultats").Cells(m, 4).PasteSpecial Paste:=xlValues, Operation:=xlNone
    Encore merci pour votre aide

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

Discussions similaires

  1. Macro copie de Word vers Excel
    Par Invité dans le forum VBA Word
    Réponses: 1
    Dernier message: 21/09/2009, 19h10
  2. Copie de titre de word vers Excel
    Par Yacine_92 dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 26/08/2008, 00h02
  3. 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
  4. Réponses: 4
    Dernier message: 06/11/2007, 14h49
  5. Macro import du texte Word vers Excel
    Par Bernard6773 dans le forum VBA Word
    Réponses: 6
    Dernier message: 05/09/2007, 10h42

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