Rechercher dans plusieurs classeurs

Bonsoir le forum,

Dans le but de compléter une application, je souhaiterais faire une "synthèse" de tous les classeurs d'un répertoire donné.

Je voudrais en effet copier dans la feuille 2 de mon classeur "pilote" sur la première ligne toutes les cellules (Valeur et couleur de fond) du premier classeur de mon répertoire qui sont sur fond vert ou rouge , puis sur la ligne suivante toutes les cellules (Valeur et couleur de fond) du deuxième classeur de mon répertoire qui sont sur fond vert ou rouge, et ainsi de suite jusqu'au dernier, ce qui m'éviterais de tous les ouvrir les uns après les autres pour effectuer un contrôle visuel.

Le nombre de cellules susceptibles d'avoir une fond de couleur est de 8 par classeur.

Quelque chose dans le genre :

For each workbook dans le répertoire X

si le fond de la cellule A1 n'a aucune couleur alors copier la valeur de la cellule dans la feuille 2 de mon classeur "pilote"

si le fond de la cellule F2 n'a aucune couleur alors copier la valeur de la cellule dans la feuille 2 de mon classeur "pilote"

Next workbook

Une variable de type "flag" serait mise à 1 si au moins une des 8 cellules à un fond de couleur et je ne copierais la ligne que dans ce cas.

Si quelqu'un avait une idée....

Merci à vous

Cordialement

Joseph

Bonjour Joseph le forum

un peu light ton explication mais bon on va dire que l'on comprend mal aujourd'hui.

1) est-ce que le fichier pilote est dans le même dossier que tes classeurs à traiter?

2) est-ce que dans ce dossier, il n'y a pas d'autre classeurs qui ne seraient pas à traiter?

en cas de réponses oui il nous faudra à ce moment là le nom des fichiers à traiter ou la racine des noms à traiter

ex: Compte rendu x

3) maintenant ton histoire de couleur là il peut y avoir 8 cellules donc on suppose de la feuil1 ligne 1 de A1 à H1 et on suppose aussi que tes classeurs ont une seule feuille.

Donc beaucoup de suppositions, alors, le mieux le classeur pilote et au moins un classeur à traiter avec les explications et on va ta faire cela sans soucis

a+

papou

Bonjour papou, le forum,

Tout d'abord merci pour ton intérêt. Les questions soulevées sont autant d'informations pour moi.

J'avais bien conscience d'être un peu "light", mais je ne voyais pas comment insérer un répertoire.

Je vais essayer d'être plus précis suite à tes remarques (fondées).

Le répertoire du fichier "pilote" (Mesures.slxm) et de la fiche type (FicheType.xlsx) à partir de laquelle je crée toutes les fiches est le suivant : ("\\SNELL-PC\Users\SNELL\Documents\Joseph\MAJEURS")

Le répertoire des fiches dont le nom est le N° RG (par exemple 600008.xlsx) est le suivant :

("\\SNELL-PC\Users\SNELL\Documents\Joseph\MAJEURS\Fiches\"). Ce répertoire ne contient uniquement que des fiches.

Les fiches ne contiennent qu'une seule feuille, et les cellules susceptibles d'avoir un fond vert ou rouge sont lers suivantes : J2, J9, J10, J11, G16, D22 et D23.

Le but de la manoeuvre est de copier (fond et valeur) toutes les cellules ayant un fond de couleur de toutes les fiches dans la feuille 2 du classeur pilote Mesures.xlsm sans avoir à ouvrir les fiches les unes après les autres et d'effectuer un contrôle manuel et visuel.

Le mot de passe est ...... Joseph

Merci encore de ton intérêt et de ton aide.

Amicalement

Joseph

50600008.xlsx (17.52 Ko)
47mesures.xlsm (73.54 Ko)

Salut le forum

Un début de solution

Mytå

Bonjour Myta,

J'avais effectivement dans mes recherches vu ce post.

Malheureusement je suis complètement largué. Je n'ai pas compris grand chose du code, alors de là à réussir à l'adapter à mon cas....

Je suis toutefois déjà retourné dessus pour essayer de comprendre.

En tout cas, merci pour ton intervention.

Amicalement

Joseph

Bonsor Joseph le forum

je n'ai pas le temps là, mais je te ferai la macro pour réaliser ce que tu souhaites demain

Un lien vers un post c'est bien mais de faire le fichier c'est mieux, du moins je pense !!!

a+

papou

Bonsoir papou, le forum,

Mille merci papou. Ma demande n'est pas urgente, et je pense bien que l'on peut avoir autre chose à faire un dimanche.

Si je reçois quelque chose demain, c'est très bien, mais après demain ce sera toujours encore très bien, et après après demain encore.

J'ai entretemps consulté des dizaines de recherches, vu pal mal de choses intéressantes, mais là je sature un peu, et mes yeux m'arrivent plus à suivre. J'arrête donc pour aujourd'hui.

J'attends avec intérêt ta macro...

Merci et bonne soirée

Amicalement

Joseph

Bonjour Joseph le forum

bon alors j'ai regardé les fichiers et tu es encore plus light que je ne le pensais !!!!!

tu dis :

Les fiches ne contiennent qu'une seule feuille, et les cellules susceptibles d'avoir un fond vert ou rouge sont lers suivantes : J2, J9, J10, J11, G16, D22 et D23.

J2 =

mais ou copier ces fonds de couleur? exemple J2 = colonne H de la feuille Mesure

mais J9 donc RVV lui il va ou????

alors STP tu me dis J2 = colonne H J9 = colonne ??? etc pour les autres J jusqu'à D23

et je suppose aussi qu'il faut les copier dans les lignes correspondant à la personne de la fiche, juste une petite précision que tu avais oublié !!!!!!

dans l'attente de ta réponse

a+

Papou

Bonjour papou, le forum,

Pour quelqu'un de presque 80 kg, light c'est super!!!

Bref, trêve de plaisanteries, je redevient sérieux.

Une fois de plus, tes questions mettent en lumière combien il est difficile d'expliquer correctement ce que l'on souhaite. (en tous cas pour moi)

Et comme souvent, je pense beaucoup plus loin que ce que j'ai déjà fait : revoici le fichier Mesures.xlsm avec la feuille 3 dans laquelle copier les cellules des fiches qui ont un fond de couleur.

Corrélations fiches et feuil3 de Mesures.xlsm

Nom B2 ------------------> Nom à partir de A3 (valeur de la cellule)

Prénom F2 ---------------> Prénom à partir de B3 (valeur de la cellule)

Age J2 ---------------------> Age à partir de C3 (valeur de la cellule et couleur de fond)

Rev.AAH J9 --------------> Rev.AAH à partir de D3 (valeur de la cellule et couleur de fond)

Rev.suivi J10 -------------> Rev suivi à partir de E3 (valeur de la cellule et couleur de fond)

Rev.travail ----------------> Rev.travail à partir de F3 (valeur de la cellule et couleur de fond)

Révision tribunal G16 --> Révision tribunal à partir de G3 (valeur de la cellule et couleur de fond)

Rev.CMU base D22 ----> Révision CMU base à partir de H3 (valeur de la cellule et couleur de fond)

Rev CMU compl. D23 -> Rév.CMU compl à partir de I3 (valeur de la cellule et couleur de fond)

Si dans la fiche aucune des cellules listées n'a de fond vert ou rouge, on ne crée évidemment pas d'enregistrement dans la feuille 3 de Mesures.xlsm

Le fond des cellules listées passe au vert 4 mois avant l'échéance et au rouge 2 mois avant l'échéance. Pour l'âge c'est en vert pour 4 mois avant 57 ans et en rouge 2 mois avant 57 ans.

Voilà, j'espère n'avoir rien oublié cette fois-ci...

Amicalement

Joseph

37mesures.xlsm (76.79 Ko)

Re Bonjour Joseph le forum

voilà ton fichier en retour avec trois fichiers pour mes tests, que j'ai rempli au moins avec une cellule de couleur.

testes et redis moi

a+

Papou

57joseph.zip (99.25 Ko)

Bonjour papou, le forum,

Dis-moi, comment fais-tu pour aller si vite ????

Je vais voir çà ce soir encore ou demain après 16h..

Je te tiendrais au courant dès que possible...demain journée continue.

En tous les cas, merci par avance

A bientôt

Amicalement

Joseph

Bonsoir Joseph le forum

bah quand on a les éléments c'est plus rapide encore !!!!

enfin tu n'as pas essayé, mais tu peux le faire en décompressant le dossier que je t'ai envoyé sur ton bureau

et tu lances la macro et tu me redis

a+

Papou

Bonsoir papou, le forum,

Eh bien voilà j'ai eu un peu de temps pour tester.

Visiblement il y a un petit souci.

Dans le module lister :

Sub Liste()
    Dim Fso As Object
    Dim rep$, f As Object, x&, adr$
    Dim f1 As Object, f2 As Object
    Set Fso = CreateObject("Scripting.FileSystemObject")
    adr = ThisWorkbook.Path
    rep = adr & "\Fiche"
    Sheets.Add after:=Sheets(Sheets.Count): ActiveSheet.Name = "Liste"
    x = 1
    For Each f In Fso.GetFolder(rep).Files
        Cells(x, 1).Value = f.Name
        x = x + 1
    Next f
    x = 1
End Sub

Il était marqué rep = adr&"\fiche" : j'ai remplacé par rep = adr &"\Fiche " avec un F majuscule puisque le dossier s'appelle Fiche.

J'ai supprimé la feuille "Liste" dans Mesures Joseph V1.xlsm car elle existait déjà et donc le code "plantait". (J'ai vu que cette feuille était supprimée dans le module Joseph à la fin du traitement.)

Enfin, le code "plante" au niveau de l'instruction suivante : For Each f In Fso.GetFolder(rep).Files avec comme message d'erreur : "Chemin d'accès introuvable". Et là, je ne sais plus du tout quoi faire. (inutile de dire que ton code me dépasse de loin !)

A bientôt

Amicalement

Joseph

Bonsoir papou, le forum,

STOP : ne pas tenir compte de ce que je viens de dire juste auparavant.

J'ai placé tes fichiers dans le dossier "papou" ou lieu de les laisser en temp ...... : et ça fonctionne. YES !!!!!!!

C'est proprement super.

Juste un point de détail, dans Mesures Joseph V1.xlsm feuille 3, colonne G, les dates s'inscrivent que le fond soit de couleur ou pas.

Pourrais-tu ...?

Et si en prime (cerise sur le gateau) je pouvais avoir quelques explications sur le code.

Un immense merci

Amicalement

Joseph

re Joseph le forum

tu peux m'expliquer ce que tu dis là ?

Juste un point de détail, dans Mesures Joseph V1.xlsm feuille 3, colonne G, les dates s'inscrivent que le fond soit de couleur ou pas.

Pourrais-tu ...?

J'ai rapatrié toutes les cellules J2 J9 J10 et les suivantes de tous ceux qui ont au moins une cellule en couleur, c'est ce que tu as demandé au début, si maintenant ta demande n'est plus la même il faut le dire mais moi j'ai fait en sorte de rapatrier toutes les cellules de J2 à D23 de tous ceux qui ont au minimum une case coloriée dans cette liste de cellule.

a+

Papou

re Joseph le forum

bon voilà avec ce que j'ai compris + une vérification de la feuille liste

Mais avec des explications très incomplètes il est difficile de comprendre ce que tu veux exactement

j'ai rapatrié dans tous les cas les trois premières cellules pour avoir le nom prénom et age de la personne

qui ont des défauts

testes et redis moi

a+

papou

21joseph.zip (100.24 Ko)

Bonjour papou, le forum,

Je viens de rentrer et me suis de suite précipité vers mon PC.

Décidément, je suis confus par mon manque de clarté. Moi qui relis trois fois mes messages avant de les envoyer, je pensais vraiment avoir tout détaillé.

Mais selon mes premières constatations, ton fichier fait exactement ce que je souhaite.

Pour chaque fiche si une au moins des cellules listées a un fond de couleur, écrire une ligne sur la feuille 3 de Mesures Joseph.xlsm avec le nom et le prénom de la personne plus la valeur et couleur de fond de la (ou des) cellule(s) ayant un fond de couleur..

Si aucune des cellules listées n'as de couleur de fond, il ne faut pas écrire de ligne.

Je vais donc signaler ce post comme étant résolu dès que j'aurais essayé tous les cas de figure.

Reçois en attendant mes plus vifs remerciements pour ta patience et ta disponibilité.

J'aurais peut-être fini centenaire avant de réussir à résoudre ce problème.

Merci

Joseph

Bonjour papou, le forum,

Voilà petit problème avec la fiche 999.xlsx

La cellule D22 en fond vert n'est pas recopiée dans feuille 3 de Mesures Joseph V3.xlsm en H7 comme il le faudrait

J'ai remarqué en testant que parfois tout n'était pas recopié.

Là j'ai laissé tel quel pour que tu puisses le constater.

J'ai bien essayé de voir à quel endroit du code celà pouvait se passer, mais bon je ne suis pas encore centenaire (cf.post précédent)

Peut-être au niveau de ceci ? :

If x <= 3 Then GoTo 1

A cet effet, je prends la liberté de te renvoyer les fichiers.

A bientôt

Amicalement

Joseph

20mesures-joseph-v3.zip (158.57 Ko)

Bonsoir Joseph le forum

c'est le fichier 999 qui me fallait pour vérifier pas l'autre

tu fais comme moi un dossier avec tes fichiers dedans et tu les compresses en .zip

a+

Papou

Bonsoir papou, le forum,

J'étais persuadé que le tout (Mesures et toutes les fiches) étaient dans Mesures Joseph.zip

Ce n'est pas grave, voici toutes les fiches

Meri

A bientôt

Joseph

20les-fiches.zip (101.37 Ko)
Rechercher des sujets similaires à "rechercher classeurs"