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 :

Copie plusieurs lignes en 1 cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Points : 46
    Points
    46
    Par défaut Copie plusieurs lignes en 1 cellule
    Bonjour,

    Par VBA Excel, j'ouvre un document Word et une macro qui choisit un texte pour le copier sur ma feuille Excel.
    Mais mon texte Word est sur plusieurs lignes et je voudrais que la copie soit sur 1 seule cellule.

    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
     
    Sub lancerMacroWord()
        Dim wordApp As Word.Application
     
        Set wordApp = CreateObject("Word.Application")
     
        wordApp.Visible = True
        wordApp.Documents.Open ("C:\regles.doc")
        wordApp.Run "NewMacros.SelectionParagraphe"
        Range("D4").Select
        ActiveSheet.PasteSpecial Format:="Texte", Link:=False, _
            DisplayAsIcon:=False
     
     
    End Sub
    Mais ici, la copie se fait sur et aussi en dessous, 1 ligne par cellule.

    Merci de votre aide.

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    et la macro Word SelectionParagraphe, tu nous la montre ?

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Points : 46
    Points
    46
    Par défaut
    La voici.
    Je cherche le titre qui m'intéresse et relève son numéro de paragraphe.
    Je ccherche le titre suivant et relève son numéro de paragraphe.
    Je sélectionne tous les paragraphes notés.
    Je ne sais pas si c'est optimal, mais ça fonctionne correctement.

    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
     
    Sub SelectionParagraphe()
     
    Dim rngParagraphs As Range
     
    ParagrapheDépart = 13
    For i = 1 To 2
    TextCherche = "Règle " & ParagrapheDépart + i - 1 & " -"
     
     
        Selection.Find.Execute FindText:=TextCherche
     
        Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
    If i = 1 Then
    NumeroParagrapheDépart = Selection.Paragraphs.Count + 1
    Else
    NumeroParagrapheArrivée = Selection.Paragraphs.Count
    End If
    Selection.HomeKey Unit:=wdStory
     
    Next i
     
        Set rngParagraphs = ActiveDocument.Range( _
            Start:=ActiveDocument.Paragraphs(NumeroParagrapheDépart).Range.Start, _
            End:=ActiveDocument.Paragraphs(NumeroParagrapheArrivée).Range.End)
        rngParagraphs.Select
        Selection.Copy
     
    End Sub
    Quand je retourne sur Excel, j'ai peux correctement copier les données qui m'intéresse.
    Mais elles se copient sur plusieurs cellules et moi je voudrais l'ensemble dans une seule.

    Merci

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    À mon humble avis, tu as les choix suivants :


    1) Tu concatènes tes extraits dans une variable unique, en ajoutant les sauts de lignes aux bonnes places et, à la fin tu places ton texte concaténé dans ta cellule.

    2) Tu concatènes tes extraits directement dans ta cellule au fur et à mesure que tu les trouves. Évidemment, tu ajoutes toi-même tes sauts de ligne aux bons endroits.

    3) Tu récupères tes extraits dans un nouveau document Word, juste avec des sauts de lignes, et tu fais un copier-coller dans ta cellule.

    Ceci dit, je pense que tu devrais penser à un autre système et probablement sans Excel.

    P.S. Dès que Excel "tombe" sur un retour de chariot, ou une marque de paragraphe, il change de cellule.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour

    Je souscris on ne peut plus totalement à ce que vient de dire clementmarcotte (et plus particulièrement en son après troisième point, commençant par "ceci dit").
    Concaténer dans une cellule Excel du texte provenant de Word révèle sans la moindre ambiguïté un détournement de la vocation de Excel, qui est celle d'un tableur et non celle de la présentation de documents, de texte, etc ...
    Tout cela n'a aucun sens (à moins que l'on ne veuille s'écarter de de qui est sérieux pour s'amuser à je ne sais trop quoi ... Le plus étrange est alors de demander de l'aide pour réaliser une telle ... euh ...).
    Un grand salut à clementmarcotte.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

Discussions similaires

  1. [E-02] Sélection de plusieurs lignes ayant une cellule identique
    Par machintruc84 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/11/2008, 10h17
  2. Plusieurs lignes dans une cellules
    Par kanabzh29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/07/2008, 16h33
  3. FlexGrid ecrire sur plusieur ligne dans une cellule
    Par label55 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/02/2008, 14h54
  4. plusieurs lignes sur une cellule du stringgrid
    Par neuneu1 dans le forum Débuter
    Réponses: 4
    Dernier message: 06/08/2007, 22h35
  5. Texte sur plusieurs lignes dans une cellule de JTable
    Par JeanECN dans le forum Composants
    Réponses: 3
    Dernier message: 10/04/2006, 17h20

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