Agrégation de feuille Excel

Bonjour à tous,

j'ai des réunion toutes les semaines, et pour chaque date de réunion, j'ai un dossier dans ce dossier j'ai un fichier excel appelé ordre du jour. ce fichier ne comporte qu'une seule feuille avec

une colonne pour le numéro du thème à l'ordre du jour

une colonne pour le libellé du thème et une colonne avec un lien vers les documents préparatoires au thème

donc voici l'arborescence

- réunions

index.xlsm (index des réunion à réaliser "projet")

- date (directory date de la réunion)

odj.xlsm (fichier excel contenant l'ordre du jour de la réunion)

1 (directory thème 1)

2 (directory thème 2)

3 (directory thème 3)

4 (directory thème 4)

je souhaiterais réaliser un index des réunion me permettant de faire une recherche globale sur toute les réunions, mais je cale

J'ai bien essayé de lié les feuilles de cacul à l'index... mais il ne me garde pas le lien hypertexte vers les documents.

quelqu'un aurait une idée ou une piste à lancé, sur la manière d'envisager cela

Merci d'avance

Bonjour malvira,

si j'ai bien compris, tu souhaiterais réaliser un fichier excel avec un index des toutes les réunions passées, et que tu puisse ouvrir le fichier excel de la réunion souhaité depuis cet index ?

Bonjour Baboutz,

c'est à peux près cela

l'index contiendra sur la première feuille le linsting des séances avec un lien direct vers l'odj en excel, mais également une feuille par séance reprenant le contenu des différentes réunion.

comme expliqué, j'ai essayé avec les classeur lié (données externes => connexion....)

mais il ne reprend pas mes liens vers les documents des réunions (et vu qu'on monte d'un niveau dans l'arbre des directories, ne les actualise pas no plus.

merci

bat

Ok.

Pour actualiser ton index, il suffis de faire une macro qui se lancera à l'ouverture du fichier excel.

Ensuite on peut créer à côté de ton index une zone de recherche avec un petit bouton rechercher te permettant de trouver et d'ouvrir l'odj en question.

Par contre, ça ne risque pas de faire un classeur Excel un peu trop chargé si tu réalises une feuille par réunion ?

Peux-tu joindre un exemple de ton fichier (Sans données compromettantes s'il y a) ?

Comment se nomme les dossiers possédant les odj (Pour savoir comment incrémenter ton index) ?

Actuellement les fichiers d'ordre du jour des réunions individuelles contiennent ceci

4 colonnes

numéro; Type, Libellé,Listes des documents

dans le fichier il y a une macro qui sur base de la mise à jour du numéro du thème génère un lien vers un dossier créer dans l'arborescence de la reunion.

le dossier de la réunion se nome re yyyymmdd

en annexe le fichier odj d'une réunion

5odj.xlsm (18.21 Ko)

Je t'ai créé un petit fichier qui :

  • Met à jour l'index des réunions automatiquement à l'ouverture du fichier
  • Permet de rechercher une réunion dans la case A3 et le bouton "OUVRIR" permet d'ouvrir l'odj coresspondant.

Remplace les "XXX" du code dans le module 1 et module 2 par le chemin du répertoire où se trouve les dossier de réunions.

A toi d'adapter le reste à ta feuille ainsi que d'y mettre un peu de mise en forme.

Cela te convient ?

6classeur1.xlsm (19.51 Ko)

EDIT : tu auras forcément une erreur à l'ouverture car le chemin ne sera pas mis dans le code.

Bonjour, et merci pour ton classeur cela me donne des idées

cependant ce n'est pas tout à fait ce que je cherche

voici le code d'une macro... qui serait dans chaque fichier odj et qui créerais une nouvelle feuille en recopiant le contenu de la feuille un

je sais je prend un peu le problème à l'envers cependant je ne sais pas comment parcourir tout les dossier de réunion ouvrir le fichier odj et prendre le contenu de la feuille 1

Sub copy()
    Dim DossierParent, DirNameTemp, DirName As String

    DossierParent = ThisWorkbook.Path
    DirNameTemp = Split(DossierParent, "\")
    DirName = DirNameTemp(UBound(DirNameTemp))
    'MsgBox DirName

    If Right(DossierParent, 1) = "\" Then DossierParent = Left(DossierParent, Len(DossierParent) - 1)
    ' Dossier parent = chemin avant le dernier slash
    DossierParent = Left(DossierParent, InStrRev(DossierParent, "\"))

    Workbooks.Open Filename:=DossierParent & "\" & "index02.xlsm"

    Workbooks("index02.xlsm").Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = DirName

    Workbooks("odj.xlsm").Worksheets("Feuil1").Cells.copy _
        Workbooks("index02.xlsm").Worksheets(DirName).Range("A1")

    Workbooks("index02.xlsm").Save    
    Workbooks("index02.xlsm").Close False

End Sub

Merci

Bat

Salut malvira,

Je vais pas te mentir, j'ai du mal à cerner ta demande ^^

Okay.

Si je résume (pour voir si j'ai bien compris) : tu aimerais une macro dans chaque odj permettant de créer une nouvelle feuille, dans le fichier Excel comportant l'index, afin d'y recopier le contenu de l'odj ? Tu aurais donc sur ton fichier Excel, une feuille par réunion ?

Bonjour,

Dans le fichier index.xlsm, la première feuille sera un listing des séances par date avec un lien pour chacune d'elle vers la feuille dite de réunion.

Dans le fichier index.xlsm chaque fiche réunion reprendra le contenu de la feuille 1 du fichier odj de la réunion correspondante.

Actuellement si j'utilise la macro présentée dans mon précédent poste elle doit être copiée dans chaque fichier odj.xlsm et lancée manuellement.

elle fait le travail souhaité.

Je pourrais le faire à partir du fichier index.xlsm mais cela nécessite de parcourir chaque répertoire "réunion"..... ouvrir le fichier odj.xlsm copier, sauver et fermé

et là je t'avoue....

bat

Re,

Voici ci-joint un fichier qui :

  • Met à jour l'index des réunions automatiquement à l'ouverture du fichier.
  • Créer et copie automatiquement la feuille d'une réunion si elle nétait pas là avant, ce qui t'évitera de le faire à la main sur chaque odj.
  • Permet de rechercher une réunion dans la case A3 et le bouton "OUVRIR" permet d'aller directement sur la feuille de la réunion correspondante.

Comme hier, tu auras probablement un bug à l'ouverture du fichier, il faut que tu remplaces les XXX par le bon chemin

Tu en as trois à remplacer, deux dans le module 1 :

repertoire = "XXX\test\"
Workbooks.Open Filename:="XXX\test\" & NomRep & "\odj.xlsm"

Et un dans le module 2 :

Nom_Fichier = "XXX\" & recherche & "\odj.xlsm"

Cela correspond à ton attente ?

4classeur1.xlsm (21.29 Ko)

whouaw

merci

je teste et te dis quoi

merci déjà

Pas de soucis, tient moi au courant

Bonjour,

Voila mon fichier index final

Me suis inspiré de ton fichier pour créer l'index des séances sur la feuille "index"

il y a une macro qui sera exécuter une et une seule fois pour générer toute les fiches, à moins que je n'intègre dans le code, la vérification de l'existence de la fiche.

voila

merci

5inexe02.xlsm (24.88 Ko)

Salut malvira,

Content d'avoir pu aider !

En revanche, ton fichier ne créer pas de fiches dans le classeur Excel "index02.xlsm", ce n'est pas ce que tu voulais ?

Dans le dernier classeur que je t'ai envoyé, ma macro permettait justement de vérifier l'existence de la fiche dans ledit classeur, et si elle n'y était pas, la rajoutait ! Cela permettait d'éviter de créer toutes les fiches à chaque ouverture du fichier et ainsi d'éviter à ton ordinateur et à Excel de bugger (si beaucoup de réunions) !

Enfin bon, si tu es satisfait, n'oublie pas :

Merci,

en fait si.... je lance la macro manuellement, une et une seule fois

Okay, super alors

j'ai cliqué sur le v mais rien ne se passe

Sur le v ?

Rechercher des sujets similaires à "agregation feuille"