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 Excel : infos dans un signet Word


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 Excel : infos dans un signet Word
    Bonjour le forum!

    Attention, accrochez-vous parce que ça va être tordu :

    MA QUESTION (version courte) : comment récupérer des infos stockées dans des signets sous word (ps : un sujet traite de ça sur le forum mais ne répond pas vraiment à la question)

    MA QUESTION (version longue) :

    - lors de l'épisode précédant, je programmais une macro qui recherchait dans une liste de taches (document Word) à faire celles qui contenaient un certain mot et en établissait une liste sur excel. Chaque paragraphe de mon document word commençait par un signet du type Snum avec num = numéro du paragraphe (ex : S3 = nom du signet avant le 3eme paragraphe), ce qui me permettait notemment de faire des liens cools de mon fichier excel vers mon fichier word.

    - je voudrais aller plus loin : il faudrait qu'à l'issue des recherche je puisse spécifier pour chaque item trouvé si la tache a été exécutée ou pas afin que l'info soit accessible pour les recherches ultérieures. Je donne un exemple :

    ma liste de tâche (document Word) est (admettons) :

    -tondre la pelouse
    -manger des pommes
    -manger des poires

    Si je cherche "manger", la liste qui s'établit dans mon document excel est
    -manger des pommes
    -manger des poires

    Il se trouve que j'ai mangé les pommes mais que les poires c'est pas bon alors je les ai laissées dans le frigo.
    Je double clique sur la ligne "manger des pommes", une fenêtre s'ouvre et je précise que l'action est faite, je valide et ça doit stocker l'information dans le document Word.
    Pour manger des poires, pareil mais avec l'information "pas fait".
    Il faudrait qu'à la deuxième recherche avec le mot manger, la même liste apparaisse mais avec "manger des pommes" en vert (puisque c'est fait) et manger des poires en rouge.

    Le truc c'est que ma liste en document Word est officielle et je ne peux la modifier que de façon invisible. Du coup j'ai pensé aux signets. Quand je précise qu'une action est faite, ça me met un signet "O" au début du paragraphe, si elle est pas faite, ça me met un signet "N".

    Le problème est que je ne sais pas retrouver -lorsque ma macro de recherche va trouver le mot "manger" dans un paragraphe de ma liste word- la lettre que contient le signet qui débute ce paragraphe (surtout qu'en plus il y un deuxième signet devant ce paragraphe qui me donne son numéro).

    Comme c'est super limpide, je vous joins un dossier exemple qui contient la liste, la macro de recherche, qui lance un userform quand on double clique dans la premiere colonne, qui enregistre un signet avec "O" (fait) ou "N" (pas fait" au bon endroit.

    Si vous avez compris ce que je veux faire, vous êtes plutôt doué.
    Si vous pouvez m'éclairer sur ce que je veux faire, vous êtes un Jérôme Kerviel des hôtes de ce forum (quel flatteur je suis).

    A bientôt,
    Marc
    Fichiers attachés Fichiers attachés

  2. #2
    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
    Je m'arrête à ça :
    Il se trouve que j'ai mangé les pommes mais que les poires c'est pas bon alors je les ai laissées dans le frigo.
    Je double clique sur la ligne "manger des pommes", une fenêtre s'ouvre et je précise que l'action est faite, je valide et ça doit stocker l'information dans le document Word.
    Pour manger des poires, pareil mais avec l'information "pas fait".
    Tu as deux solutions : Ou tu réalises ta macro dans Excel en utilisant le pont que t'offre l'instance de Word (écriture dans Word depuis Excel) ou tu utilises une macro Word lancée depuis Excel (qui recherche le signet pour placer le renseignement)(AppDoc.run ...)
    Les questions qui me viennent : Où places-tu ta liste ? j'ai bien vu "Chaque paragraphe de mon document word commençait par un signet " mais pourquoi pas dans un tableau ? Tu pourrais mettre "-manger des pommes" dans une cellule et "Pas fait" dans la cellule d'à côté.
    En outre, ça te libèrerait des signets qui sont lourds à gérer (enfin, c'est mon avis)
    Avec Tables(n).cell(NoLig, Nocol) c'est tout de même plus facile. Tu peux d'ailleurs doubler ça de signets si ça te chante.
    Juste une idée

  3. #3
    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
    Je vais essayer de répondre avec clareté à tes questions :

    Où places-tu ta liste ?
    La liste de tâche est un doument Word, il est existant (c'est une base que l'on m'a imposée, je n'ai pas le droit de le modifier sauf de façon invisible).

    Ensuite, une extraction est faite sous excel de cette liste (donc stockée dans une feuille excel) en fonction d'un critère de recherche.

    La pièce jointe fourni un exemple de document word a traiter accompagné du fichier excel.

    j'ai bien vu "Chaque paragraphe de mon document word commençait par un signet " mais pourquoi pas dans un tableau ? Tu pourrais mettre "-manger des pommes" dans une cellule et "Pas fait" dans la cellule d'à côté.
    Je n'ai pas le droit de modifier de façon visible mon document word (d'où l'idée des signets).
    Le fichier excel est un fichier qui permet de faire des recherches et il est un fichier public. Il est, dans les faits, réinitialisé entièrement à chaque ouverture par un utilisateur et ne peut donc stocker des information d'une séance d'utilisation à une autre.
    Voilà pourquoi, je ne peux pas stocker les infos dans un tableau (de plus je devrais faire deux fois la recherche, une fois dans le doc word pour extraire la tâche et une fois dans le tableau pour savoir si elle est faite).
    Je précise que - toujours dans les faits - ces actions sont effectuées sur un ensemble de 150 documents words, ce qui rendrait donc très lourd une solution qui lierait à chaque document word un tableau dans un fichier excel qui mettrait "fait" ou "pas fait" pour chaque numéro de paragraphe.

    En outre, ça te libèrerait des signets qui sont lourds à gérer (enfin, c'est mon avis)
    cf ma dernière précision

    Merci d'avance pour votre aide

  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
    A la place des signets, ça pourrait passer - éventuellement - par des commentaires sur le paragraphe mais la question reste la même (je fais des recherche sur les forum sur les commentaires en ce moment)

  5. #5
    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
    On ne s'est pas compris, je parlais d'un tableau dans Word pas dans Excel.

    (J'évite autant que faire se peut d'ouvrir les pièces jointes. J'ai eu des gros pbs pas encore réglés. Désolé.)

    Pour l'explication :
    Si la recherche se fait dans le doc word...
    - La sélection de la pomme ou de la poire se fait où ?
    - "Fait" ou "pas fait" est stocké où ?
    - Si c'est dans Word, à quel endroit ?
    Bref, j'ai au moins compris une chose, aucun des fichiers ne doit être modifié de façon permanente. Après ça...

  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
    Alors, la liste est faite dans Word, l'extraction d'une partie (ex : contient "manger") se fait dans Excel.

    - La sélection de la pomme ou de la poire se fait où ?
    Dans le fichier excel, il a extrait avec la recherche "manger" deux ligne de ma liste Word et les présente ainsi :

    4 | manger des pommes
    6 | manger des poires

    nb : | = séparation de cellule, 4 et 6 désignant les numéros pragraphes du document Word où se situent manger des pommes et manger des poires.

    je veux préciser que j'ai mangé des pommes, je double clique (toujours dans excel) sur la cellule qui contient le numéro du paragraphe (donc ici la cellule (1,1) qui contient la valeur 4).

    Ca me lance un UserForm qui me demande si fait ou pas fait...

    - "Fait" ou "pas fait" est stocké où ?
    ... je clique sur "fait" et je valide mon Userform. Il me lance le doc Word, retrouve le paragraphe grâce au numéro du paragraphe et me met un signet "fait" devant le pragaraphe en question

    - Si c'est dans Word, à quel endroit ?
    cf ci-dessus, au paragraphe qui correspond à ma recherche.

    Je ne pense pas que ma pièce jointe contienne un virus... en plus elle vachement plus claire que mes explications!
    Ceci dit je comprends parfaitement ta méfiance vis-à-vis des pièces jointes.

    Bref, j'ai au moins compris une chose, aucun des fichiers ne doit être modifié de façon permanente. Après ça...
    Sauf le document Word mais de façon invisible!

    A pluche
    Marc

Discussions similaires

  1. [XL-2007] Copier une cellule excel dans un signet word 2007
    Par krokos55 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/09/2012, 09h43
  2. Réponses: 2
    Dernier message: 06/01/2011, 16h35
  3. Macro Excel 2007 dans VB.net 2005
    Par peregna2007 dans le forum VB.NET
    Réponses: 2
    Dernier message: 12/08/2008, 22h35
  4. Réponses: 4
    Dernier message: 17/07/2008, 13h40
  5. Réponses: 10
    Dernier message: 02/09/2007, 11h32

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