Transposition des données de deux fichiers sur un troisieme.

leXav

XLDnaute Nouveau
Bonjour,

La société qui m'emploi me demande régulierement de lui fournir des tableaux d'activité.

Aujourd'hui il me demande de reprendre tous les tableaux d'activités des 5 dernieres années
et de transposer les informations sous une autre forme dans un autre fichier.

En résumé j'ai deux type de fiche :
version 1 avec les informations sous un aspect
version 2 avec les informations sous un autres aspect a des emplacements different de la Version 1.


Et il faudrait que je genere une version 3 avec les informations sous un autres aspect a des emplacements different de la Version 1 et 2.

Je vous fournit 1 zip du repertoire Afin que vous compreniez bien ma problematique.

Comme cela fait bien longtemps que je n'ai pas utilisé les fonctions de transpositions sous Excel.

j'aurai souhaité un coup de main pour me permetre de me remettre le pied à l'étrier car je ne sais plus trop comment m'y prendre.

En vous remerciant par avance
Cordialement
LeXav
 

Pièces jointes

  • Repertoire1.zip
    7.7 KB · Affichages: 54
Dernière édition:

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

J'ai un peu avancé dans la démarche que je vais suivre pour arriver a mon but final.

Je souhaiterai, dans un premier temps sur le repertoire 1 déterminer les fiches qui sont en V1 et les fiches qui sont en V2 en faisant un check sur une celule. (exemple si c'est bien l'occurence "Client :" qui est en bien présente en D9, ça voudrait dire que c'est un fichier de type V1)

En fonction de la réponse, utilisé une commande RechercheV adéquate au type de version et Regrouper l'ensemble des informations sur une seule feuille excel (fichier intermediaire), informations brutes inscrit en ligne. Chaque ligne représentant une fiche.

Ensuite creer un bouton qui me permetrai de generer les nouvelles fiches dans un repertoire 2 avec les informations recuperées précédements.

Qu'en pensez vous ?

Y'a t'il une bonne ame charitable pour me donner les prémices me permetant de faire mon check de version, un exemple sur le RechercheV et la macro permetant de generer de nouveaux fichier ?

Je sais bien que j'abuse un peu, mais franchement je me rappelle plus du tout de tout ça et vous me retireriez une aiguille du pied.

Merci d'avance
leXav
 
Dernière édition:

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

Voici ce que j'arrive a faire :
Check de la case D9 sur le document actif avec cette macro :

Sub test()
Dim Resultat As Boolean
Resultat = WorksheetFunction.CountIf([D9], "*Client :*")
MsgBox Resultat
End Sub

ça me dis vrai, faux jusque là tout va bien.

Ce que je souhaiterai c'est scanner un répertoire et apporter cette réponse dans mon fichier intermediaire pour pouvoir ensuite utiliser un controle sur d'autres cellules fonction de cette réponse. Car celon que la fiche est une version 1 ou 2 les informations ne sont pas au même endroit.

Comment m'y prendre sur une liste de fichier dans un repertoire données ?

Pourriez vous jeter un oeil pour m'apporter une réponse, ce point est cruscial pour moi car de cette methode je vais certainnement pouvoir tirer le concept de comment je vais pouvoir récuperer l'ensemble des données sur mes fiches.


Merci a tous
Bien cordialement
leXav
 

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

Mes anciennes fiches sont toutes des classeurs excel séparés.
Au final je souhaiterai que Les informations des differentes fiches (classeurs) soient dans une tableau de récap. Plus tard, je souhaiterai génerer grace a ces informations collectées une nouvelle fiche avec une présentation completement différentes.

Si vous avez des suggestions, des bouts de codes concernant le copier/coller entre plusieurs classeurs. Des questions n'hesitez pas.

@+ MERCI par avance de votre aide.
 
Dernière édition:

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

Voici le début de mon tableau intermédiaire pour ceux que ça interesserai, j'ai récupéré le concept des macros de "my dream" que je remerci.

Ce classeur est a placé dans le repertoire un, le bouton Analyse genere le chemin et la liste de mes fichiers.

Je seche sur le boutons verif, il faudrai que je check la présence de "Client : " dans la cellule D9 pour savoir si c'est une fiche de version 1 ou 2. hors je ne sais que le faire sur le document actif et non sur plusieurs documents distant.

Ensuite, il faudrait que je mette en place une formule qui recupere dans chaque fiche celon cette réponse les informations et les copier en colonne dans ma feuille 2.

En vous remerciant par avance de vos idée de votre contribution.

Cordialement
leXav
 

Pièces jointes

  • Tableau Recap Données Intermediaire.zip
    17.2 KB · Affichages: 69
Dernière édition:

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

Je suis vraiement embéter sur mon projet :

J'en suis a la premiere phase de mon projet soit récuperer les infos dans mon classeur intermédiaire.

Je n'arrive pas a recuperer dans la colonne C la valeur d'une cellule (D9) sur toute une liste de classeur dans mon classeur intermediaire feuille "Test" colonne A et B.

Ensuite, il faudrait que ma colonne D fasse apparaitre "V1 / V2+" fonction de la présence de "Client :" en colonne C.

Fonction de V1 ou V2 Faudrait que je fasse apparaitre dans la feuille "Données brutes" de mon classeur intermediaire :

Si mes fiches sont V1, c'est a dire que ma colonne D dans la feuille "Test" = V1 prendre valeur de B3 des Classeurs de ce type et coller cette valeur dans B3 de feuille brutes.

Si mes fiches sont V2+, c'est a dire que ma colonne D dans la feuille "Test" = V2+ prendre valeur de D3 des Classeurs de ce type et coller cette valeur dans B3 de feuille brutes.

Bien entendu chaque fiche correspond a une colonne de la feuille données brutes et il faudrait que je copie colle d'autres cellules sur le même principe en B3 B4 B5 .... 250 Classeurs avec deux type de présentations differentes (Version 1 et Version 2) et 80 champs a recuperer.

J'ai vue qu'apparement on pouvait extraire des données malgré les classeurs fermer mais bon pareil je ne sais pas comment indiquer le chemin des classeurs a utiliser.

Je sais que je ne suis pas loin, mais je desespere il faudrai que je rende une dizaine de fiche pour la fin de journée.

Merci de m'aider, je cherche mais je tourne en rond.

PLEASE HELP MEEEEEEEEEEEEEE .... lol

Cordialement
Xavier
 

skoobi

XLDnaute Barbatruc
Re : Transposition des données de deux fichiers sur un troisieme.

Bonjour,

Je seche sur le boutons verif, il faudrai que je check la présence de "Client : " dans la cellule D9 pour savoir si c'est une fiche de version 1 ou 2. hors je ne sais que le faire sur le document actif et non sur plusieurs documents distant.

Ce code vérifie dans la liste des fichiers qui se trouvent dans le fichier que tu as envoyé que la cellule D9 de la feuille 1 de ce ficherX contient "Client : " et affiche un message si c'est le cas.

Code:
Sub Check_Version()
  Dim Fichier As Range, FichTemp As Workbook
  Application.DisplayAlerts = False
  For Each Fichier In Range("A2", Range("A65536").End(xlUp))
  Set FichTemp = GetObject(Fichier.Value & Fichier.Offset(0, 1).Value)
  If FichTemp.Sheets(1).Range("D9").Value Like "*Client : *" Then MsgBox "trouvé dans fichier" & FichTemp.Name
  FichTemp.Close
  Next
  Application.DisplayAlerts = True
End Sub

PS: évite de solliciter les gens par MP, ça ne ce fait pas trop et nous ne sommes pas toujours disponible.

Edit: modifications apportées au code
 
Dernière édition:

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

Merci Skoobi d'avoir pris un peu de ton temps et je te prie de m'excuser de t'avoir interpelé en MP directement.

Je viens d'appliquer la macro que tu m'as transmis et je n'ai pas de msgbox qui apparaisse est ce bien normal ?

J'aurai souhaité copier cette valeur sur la colonne C de mon classeur intermediaire comment dois je m'y prendre ?.


Merci d'avance
leXav
 

skoobi

XLDnaute Barbatruc
Re : Transposition des données de deux fichiers sur un troisieme.

Je viens d'appliquer la macro que tu m'as transmis et je n'ai pas de msgbox qui apparaisse est ce bien normal ?
Et bien vérifie que dans les fichiers que tu veux analyser dans la première feuille la cellule D9 contient "Client : " (espace avant et après le ":"), je l'ai testé chez-moi.

J'aurai souhaité copier cette valeur sur la colonne C de mon classeur intermediaire comment dois je m'y prendre ?.
Quel est ton classeur intermédiaire? Le fichier dans lequel est lancé le code?
sur la colonne C, ok mais quelle ligne?
En tout cas, pour faire référence au fichier contenant la valeur voulue en D9 dans le code, précise à chaque fois (ou avec un With... End With) avant le Range ceci:

FichTemp.Sheets(1).
 

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

Bonjour Skoobi,

Mes précédents échanges, j'avoue était peu clair je te l'accorde aussi ce weekend, j'ai fait cette petite synthese qui permetra de mieux comprendre ce que je veux faire.

En fond de ce post, j'ai joint le repertoire de réference sur lequel je travaille a l'heure actuelle avec les differents schéma de ce que je veux obtenir.

Pour l'heure, je suis toujours en galere avec l'affichage et le "copier/coller" des informations.

Pour arranger le tout, je constate que les cellules fusionnées posent quelque soucis dans la restitution en "copier/coller". (lignes C4 et C5 feuille2 tableau récap "#VALEUR!"), peut on virer les fusions a un endroit donnée.

Peux tu me mettre ta macros "Check_Version" avec la fonction "copier/coller" entre mes 2 fiches exemple et mon récap afin que je puisse comprendre le systeme et ce qui cloche.

Je bute aussi sur la maniere d'afficher les réponses lorsque ce sont des cases qui sont cochées si tu as une idée.

La 3ème opération pour le moment n'est pas prioritaire, je verrai cela par la suite mais si tu as du code je suis preneur.

J'espere répondre ainsi a tes différentes interrogations dans la synthese.
Et si tu peux m'accorder encore un peu de ton temps, je t'en serai infiniment reconnaissant.
Car grace a ton savoir, je pense pouvoir progresser rapidement a une solution.

Merci d'avance
Cordialement
leXav

====================================================================
Synthese du projet :
====================================================================
Le repertoire 1 comprend 3 classeurs :

Serveur SRV080.xls (Exemple de fiche Version 1)
Serveur SRV310.xls (Exemple de fiche Version 2)
Le classeur intermédiaire "Tableau Recap Données Intermediaire.xls"
====================================================================

But du jeu sur le classeur "Tableau recap Données intermédiaire" :
____________________________________________________________________________
1ere opération - Premiere feuille : feuille de "Test" version (là ou le code est lancé)
Les colonnes "A" et "B" servent a identifier le chemin et le nom du fichier traité.

"C" ET "D" servent a Collecter le type de version utilisé pour chacune des fiches se trouvant dans le repertoire 1
Nous utiliseront une methode de controle de présence de valeur qui determinera la version utilisé.

--> En regardant, les deux fiches j'ai choisi de verifier le contenu de la celule "D9" sur chacune des fiches.

- Copie de la valeur se trouvant en "D9" dans la colonne "C" de la feuille "Test" (dans la lignée de son nom de fichier)

- Colonne "D" verif de la valeur sous forme de condition.

Si présence de la valeur "client :" la fiche est une version 1
Si non, c'est une Version 2.

____________________________________________________________________________

2eme opération - Deuxieme feuille : Collecte des "Données brutes"
Methode choisit, transposition des informations de chacune des fiches du "repertoire 1" en colonnes en fonction de la version trouvées précédement sur la premiere feuille.

EX : Pour "Objet de la demande" ligne 4

Si la fiche est :
une Version 1 prendre la valeur se situant en "B3" du fichier : voir l'exemple avec la fiche "Serveur SRV080.xls"
une Version 2 prendre le valeur se situant entre "D4:E4" du fichier : voir l'exemple avec la fiche "Serveur SRV310.xls"

1 Fiche/Colonne : B C D E ... representent chacune une fiche.

Particularité de certains champs des fiches comme "Application installé" ligne 17.
Sur la fiche ce sont des cases cochés, il faudrait faire apparaitre seulement le nom du logiciel coché sur la fiche.

____________________________________________________________________________
3ème opération, l'impression via deux boutons : sur la feuille2 / "Données brutes"

le premier : impression d'une fiche par son numéro (ligne 1 feuille 2)>une invite apparaitra et demande le numéro de fiche.

le deuxieme : impression de l'ensemble des fiches.

les impressions seraient sur le même type de présentation : (1 userform commun)

Un formulaire representant la colonne A de la seconde feuille "Données brutes" avec la réponse des colonnes B C D E ... en face correspondant a une fiche.

Je suis ouvert a tous complements d'informations.

Voici le répertoire actuel que j'utilise, modifiez le et retournez le moi afin que nous echangions au mieux nos explications.
 

Pièces jointes

  • Mon repertoire.zip
    29.6 KB · Affichages: 55
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Transposition des données de deux fichiers sur un troisieme.

Bonjour leXav,

Je te propose de zapper l'étape une (inutile selon moi) pour passer directement à l'ajout des données dans le fichier.
Regarde bien les commentaires dans le code qui s'appelle dorénavant RécupDonnées.

Pour les cases à cocher, il faut que tu donnes un exemple concret. Si possible ces cases à cocher doivent dans chaque fichier avoir le même nom pour y faire référence plus facilement dans la macro.


Code:
Sub RécupDonnées()
  Dim Fichier As Range, FichTemp As Workbook, Col As Long, Param As Range, TrouveParam As Range, Concac As String
  Application.DisplayAlerts = False
  Col = 1
  'pour chaque fichier colonne B feuille test de ce classeur
  For Each Fichier In Range("B2", Range("B65536").End(xlUp))
  'on récupère le fichier serveur dans la variable objet "FichTemp"
    Set FichTemp = GetObject(Fichier.Offset(0, -1).Value & Fichier.Value)
    Col = Col + 1
    'dans la feuille "Données brutes"
    With Sheets("Données brutes")
    'on récupère le nom du fichier
      .Cells(2, Col).Value = Fichier.Value
    'on écrit la version en fonction de la valeur D9 du classeur "FichTemp"
      .Cells(3, Col).Value = IIf(FichTemp.Sheets(1).Range("D9").Value = "Client :", "Version 1", "Version 2")
    'on récupère les paramètres "objet de la demande", "date de la demande", etc...
    'en recherchant chacun de ces paramètres dans le fichier "FichTemp".
    'Il faut que le nom soit exactement le même dans les 2 fichiers, ce qui n'est pas le cas pour Marque/Modèle
    'écrit dans les fichiers serveurs alors que ces 2 données sont séparés dans ce classeur. Dans le cas contraire,
    'il faudra revoir cette partie du code.
      For Each Param In .Range("A4:A15")
        Set TrouveParam = FichTemp.Sheets(1).Columns("A:E").Find(Param.Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not TrouveParam Is Nothing Then .Cells(Param.Row, Col).Value = TrouveParam.Offset(0, 1).Value
      Next
    End With
    FichTemp.Close
  Next
  Application.DisplayAlerts = True
End Sub

Bon test.

PS: j'ai pas regardé la 3eme opération.
 
Dernière édition:

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

Merci Skoobi concernant cette super Macros,
J'arrive bien a comprendre le concept grace a tes infos.

Pour les cases à cocher, il faut que tu donnes un exemple concret. Si possible ces cases à cocher doivent dans chaque fichier avoir le même nom pour y faire référence plus facilement dans la macro.

Concernant ma problematique sur la gestion des cases cochées, je te joind en PJ un zip contenant 3 classeurs d'exemple et le classeur recap qui devra contenir leurs infos sous une autre forme :

fichier A.xls
fichier B.xls
fichier C.xls
Recap.xls

Je voudrai savoir quel est la syntaxe d'une formule ou macro pouvant renseigner Les diverses colonnes B C D lignes 1 et 2 sur le classeur Recap en feuille2 Grace au informations en feuille 1 des classeurs A / B / C .xls mais en utilisant la feuille 1 plage de cellule A2:B4 du classeur Recap comme référence d'accès.

Rigole pas je reprend mon soufle ... j'ai faillit imploser ... lol

En esperant que tu aura compris ce que je veux dire car parfois quand je tente de parler l'Excel j'ai l'impression de parler un language inconnus aux autres.

Merci d'avance
Cordialement
leXav
 

Pièces jointes

  • Exemple.zip
    8.4 KB · Affichages: 59
  • Exemple.zip
    8.4 KB · Affichages: 59
  • Exemple.zip
    8.4 KB · Affichages: 54

skoobi

XLDnaute Barbatruc
Re : Transposition des données de deux fichiers sur un troisieme.

Re bonjour,

pourquoi n'as tu pas repris les anciens fichiers de ton zip du 19/01 en y intégrant mon code et en adaptant avec ce que tu montres là?
Je veux bien travailler sur ces nouveaux fichier mais le code sera à adapter sur ton fichier finale et (sans vouloir te vexer), je ne suis pas sûr que tu puisses intégrer sans peine ce code pour les cases à cocher car ceci:
Je voudrai savoir quel est la syntaxe d'une formule ou macro pouvant renseigner Les diverses colonnes B C D lignes 1 et 2 sur le classeur Recap en feuille2 Grace au informations en feuille 1 des classeurs A / B / C .xls mais en utilisant la feuille 1 plage de cellule A2:B4 du classeur Recap comme référence d'accès.
... est déja fait dans le premier code et ceci montre bien que tu n'as saisie que le "concept" du code...
Si toutefois tu veux tout de même essayer de l'intégrer par toi-même (je t'encourage à le faire d'ailleurs, c'est comme ça qu'on progresse ;)) dis le mais si tu ne t'en sens pas capable, renvoie le fichier avec ce que je dis plus haut.
 

leXav

XLDnaute Nouveau
Re : Transposition des données de deux fichiers sur un troisieme.

Bonjour a Tous,

Virus, Tempête, fin de Semaine un peu folle qui on fait que j'ai un peu mis le projet de cotés.

Me revoilaaaaaaaa avec mes questions toujours des questions ... lol

Skoobi, je te joind un zip contenant les 3 Classeurs que tu connais + 2 Autres.

Le classeur recap est adapté avec les 2 Macros :
- Analyse répertoire
- Recup Données

Alors pour faire cours, je souhaiterai :
Recuperer les données en fonction de la version, j'ai mis initialement qu'un seul cas mais j'en ai plus.

En voici le check :
Cas n° 1 - Version 1 et Version 2 :
Présence de "CLIENT" en "D9"
Présence de "Marque/Modèle" cellule "A21"

Cas n° 2 - Version 3 :
Présence de "CLIENT" en "D9"
Pas de Présence de "Marque/Modèle" cellule "A21"

Cas n° 3 - Version 4 :
Pas de Présence de "CLIENT" en "D9"
Pas de Présence de "Marque/Modèle" cellule "A21"
Présence de "Marque/Modèle" cellule "A23"

Cas n°4 - Autres versions
Pas de Présence de "CLIENT" en "D9"
Pas de Présence de "Marque/Modèle" cellule "A21"
Pas de Présence de "Marque/Modèle" cellule "A23"

J'avais pensé utilisé une macros qui prendrait cellule/cellule précise en fonction du test de la version et qui copierait la réponse en B5 C5 D5 ... dans la colonne correspondant au classeur en feuille 2 de mon récap.

Exemple :
Si cas n°1 prendre dans la fiche "date de la demande" en "B4"
Si cas n°2 prendre dans la fiche "date de la demande" en "D4:E4"
Si cas n°3 prendre dans la fiche "date de la demande" en "D1:E1"

Ce que je ne sais pas faire :

- C'est checker une cellule précise dans chacun des fichiers et coller la réponse dans une feuille, cellule précise de mon récap.

Je ne connais pas la syntaxe qui me permetrait d'indiquer que je veux checker une cellule précise dans chacun de mes classeurs de la liste précédement trouver sur la feuille 1 du récap.

- Copier / Coller une infos de chacun des classeurs de la liste dans une cellule sur mon récap.

- Transformer les cases cocher dans mes classeurs en réponse dans le classeur de récap.

Bon je sais que ça rajoute encore et encore de la sauce a mon histoire de transposition de données. Mais si tu pouvais me filer un petit peu d'eclaircissement encore ça me soulagerai beaucoup.

Merci d'avance
Cordialement
leXav
 

Pièces jointes

  • Mon repertoire2.zip
    35.7 KB · Affichages: 63

Discussions similaires

Statistiques des forums

Discussions
312 839
Messages
2 092 682
Membres
105 509
dernier inscrit
hamidvba