constituer une liste puis trier un classeur avec celle ci

CHAKAL37

XLDnaute Junior
Bonsoir a tous,

J'ai un tableau dont je souhaite extraire certaine valeur dans un autre tableau, mais pour les extraire il faudrait que je creer une liste. Voila pour résumer la chose.

Dans le tableau source, les personnes sont identifiées par un matricule. Pour faire un premier tri, je souhaite, en fonction d'une liste de matricule, trier le tableau source et rapatrier les valeurs des personnes sélectionné dans mon nouveau tableau.

Dans un premier temps, il me faut donc créer une liste de matricule que je rentrerais manuellement ( par contre je souhaiterais conserver cette liste lors de la session de sélection suivante, je n'aurais qu'a la compléter à chaque session de tri )

Dans mon idée, il faudrait que dans mon nouveau tableau, j'ai un formulaire de saisie, qui me permette de rentrer les matricules. Une fois le numéro rentré, la macro va chercher dans le tableau source le nom correspondant ( dans la colonne J en fonction du matricule ( colonne L ) et met a jour la liste dans le nouveau tableau en y associant une initiale ( Première lettre du prénom et les deux première lettres du Nom de famille ).

Ensuite, lorsque j'ai fini de saisir les matricule, je pense que l'ordre de saisie pourrais être indiquer par un bouton, je lance le tri de mon tableau source (POINTAGE.xls) et je rapatrie les valeurs définit dans le 2e onglet de mon tableau définitif (recap_heures.xlsx).
J'aurais par la suite d'autre demandes à formuler pour le tableau définitif, mais je vous expliquerais plus tard, car je ne sait pas encore comment je dois présenter la chose.

Je vous joint le fichier source et mon esquisse de fichier défiinitif. Je reste bien sur à votre disposition pour toutes les questions.

Merci d'avance.
 

Pièces jointes

  • RECAP.zip
    542.4 KB · Affichages: 38
  • RECAP.zip
    542.4 KB · Affichages: 36
  • RECAP.zip
    542.4 KB · Affichages: 37

CHAKAL37

XLDnaute Junior
Re : constituer une liste puis trier un classeur avec celle ci

Re-Bonjour,

J'ai regardé de nouveau, il bloque toujours au même endroit et je voit pas comment corriger le problème.
Je te remet les fichiers, cette version du SEBE est à mon sens la plus sure ! Donc si tu veux jeter un oeil, fait le sur cette version.
Je vais continuer a regarder de mon coté, mais la je sèche !

@ +
 

Pièces jointes

  • Tableau Chakal 16012013.zip
    905.1 KB · Affichages: 25

CHALET53

XLDnaute Barbatruc
Re : constituer une liste puis trier un classeur avec celle ci

Bonjour,

Je pense avoir régler les problèmes. L'intégration de plusieurs fichiers compliquent un peu la manip
Dans le fichier OIZ, j'avais intégré une colonne supplémentaire en colonne AE (que tu n'avais pas reproduite)
Je l'intègre par programme (à partir de 2 cellules : formule1 et formule2 qu'il ne faut pas détruire)
Attention : insérer des colonnes et des lignes dans le fichier OIZ comporte des risques (autant une formule dans le tableur prend en compte les insertions, il n'en est pas de même en VBA : il faut modifier le programme sinon décalage de ligne ou de colonne)
Pour les lignes du fichier OIZ, la première ligne utile commence en ligne 15 : une insertion avant appelle des changements dans les pgms

Rappel à l'avenir : éviter les fusions de cellules (il y avait un problème lié à cela)

A vérifier
a+
 

Pièces jointes

  • OIZ DEPOINTAGE.zip
    643.3 KB · Affichages: 26
  • OIZ DEPOINTAGE.zip
    643.3 KB · Affichages: 29
  • OIZ DEPOINTAGE.zip
    643.3 KB · Affichages: 38
  • SEBE37.zip
    167 KB · Affichages: 51
  • SEBE37.zip
    167 KB · Affichages: 55
  • SEBE37.zip
    167 KB · Affichages: 51

CHAKAL37

XLDnaute Junior
Re : constituer une liste puis trier un classeur avec celle ci

Bonjour,

Merci pour ton travail, qui une fois encore est conséquent !
Par contre j'ai une petite question : Il est normal qu'il y ai des macro dans le classeur OIZ faisant référence a des feuille "Liste" et "Feuill1" que nous n'avons pas dans le fichier que tu m'as transmis ??
Ce fichier OIZ est une extraction d'une base de donnée beaucoup plus vaste, et il sera extrait tous les 15 jours ou mois, en fonction des heures fournis par les individus. Tout ce qui est fusion, est produit a cette extraction et je ne peux pas modifier cela.
Ne serait il pas possible de recopier dans mon classeur SEBE ( quitte a rajouter des feuilles, ce n'est pas un frein ), l'intégralité des colonnes qui m’intéresse dans une feuille que nous pourrions appeler "RECOPIE_HEURE, puis faire l'opération de la conne AE dans cette feuille, et poursuivre avec les onglets que nous avons déjà définis ? Le seule obstacle ne serait alors que les fusions engendrés par l''extraction ... Qu'en pense tu ?
J'avais bien repéré que c'était la colonne AE qui posait problème, mais je n'arrivait pas à contourner le problème, et ce matin j'ai pensé a cette solution. L'inconvénient serait le temps de traitement, mais par rapport a une saisie manuelle par filtre, je pense que c'est négligeable ...
Je fait des tests de mon coté et je te tiens au courant
@ +
 

CHAKAL37

XLDnaute Junior
Re : constituer une liste puis trier un classeur avec celle ci

Re,

J'ai pondu une petite macro qui permet de recopier intégralement le contenu des colonne de OIZ DEPOINTAGE.XLS dans un autre classeur. Il y a certainement plus simple et concis, mais l'avantage c'est que je peux intégrer les colonnes que je veux du fichier source dans mon classeur. Ensuite il ne me reste plus qu'a faire ta petite routine ( on peut, peut être même, l'intégrer directement dans l'import ... ) pour répéter les numéros d'affaire et le tour est joué... Que pense tu de cela ?? Je te met la macro ci dessous.
ThisWorkbook.Sheets("Feuil2").Range("A2:E" & Rows.Count).ClearContents
Set src = Workbooks.Open(ThisWorkbook.Path & "\OIZ DEPOINTAGE.xls")
Set sh = src.Sheets("rptComptaMoEv_fr-FR")
sh.Activate
Range("B:B").Copy
Set src = Workbooks("Classeur2.xlsm")
With src.Sheets("Feuil1")
.Range("A1").PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
Set src = Workbooks("OIZ DEPOINTAGE.xls")
Set sh = src.Sheets("rptComptaMoEv_fr-FR")
sh.Activate
Range("J:J").Copy
Set src = Workbooks("Classeur2.xlsm")
With src.Sheets("Feuil1")
.Range("B1").PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
Set src = Workbooks("OIZ DEPOINTAGE.xls")
Set sh = src.Sheets("rptComptaMoEv_fr-FR")
sh.Activate
Range("L:L").Copy
Set src = Workbooks("Classeur2.xlsm")
With src.Sheets("Feuil1")
.Range("C1").PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
Set src = Workbooks("OIZ DEPOINTAGE.xls")
Set sh = src.Sheets("rptComptaMoEv_fr-FR")
sh.Activate
Range("Z:Z").Copy
Set src = Workbooks("Classeur2.xlsm")
With src.Sheets("Feuil1")
.Range("D1").PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False

@ +
 

CHAKAL37

XLDnaute Junior
Re : constituer une liste puis trier un classeur avec celle ci

Re,

J'ai modifié mon tableau en incorporant tes formules et mon import de OIZ... Et j'ai un soucis avec la routine, ça bug mais j'arrive pas à trouver ou !!
Si tu as le temps de jeter un oeil, pour voir ce que je ne voit pas !! Merci d'avance !
Je te remet le fichier OIZ original et mon tableau modifié.

@+
 

Pièces jointes

  • Tableau ChAkAl 17012013.zip
    903.6 KB · Affichages: 25

CHALET53

XLDnaute Barbatruc
Re : constituer une liste puis trier un classeur avec celle ci

Bonjour,
Pour le post 19 : effectivement, les macros étant dans le fichier SEBE37, il faut les supprimer du fichier OIZ (puisque les feuilles n'existent plus)
Pour le post 20 :
Effectivement, si tu n'as besoin que de ces colonnes, tu peux les extraire et les intégrer dans une feuille du fichier SEBE37 (et non dans un fichier spécifique). Cela te facilitera nettement la maintenance si tu n'as qu'un fichier en exploitation.
Tu peux recopier dans le fichier SEBE37 à partir de la ligne 3 pour éviter 14 lignes à blanc
Dans ta macro, pour éviter à l'écran le passage d'un fichier à l'autre, tu rajoutes en entrée de ton programme l'instruction :
Application.ScreenUpdating = False

Ensuite, il te faut modifier les programmes qui font appel au fichier OIZ....

a+
 

CHAKAL37

XLDnaute Junior
Re : constituer une liste puis trier un classeur avec celle ci

Bonsoir,

J'espère que vous avez passez un bon week-end !
Toujours sur mon tableau, j'ai un petit soucis que je n'arrive pas à résoudre !!
Dans la feuille "HEURES", j'arrive à passer toutes les étapes et créer les tableaux, cependant je souhaiterais rajouter à la suite de total rajouter le numéro d'affaire... Par la suite je souhaite récupérer deux infos ( heures total et le cumul des initiales ) pour les recopier dans la feuille "SYNTHESE" ( j'ai déjà préparé le terrain dans la macro synthèse, il ne manque plus que les infos ... ).
Si vous avez le temps de jeter un oeil la dessus, parce que je pense que c'est un détail, mais je ne voit pas ou. Par ailleurs si vous voyez des optimisations possibles, je suis preneur !!!
Je vous joint les fichiers dans les archives ci joint ( le tout s’exécute dans le même répertoire.

Merci d'avance !
@+
 

Pièces jointes

  • Chakal2.zip
    803.3 KB · Affichages: 47
  • Chakal1.zip
    204.4 KB · Affichages: 42

CHALET53

XLDnaute Barbatruc
Re : constituer une liste puis trier un classeur avec celle ci

Bonjour,

Le n° d'affaire, c'est quoi : j'ai considéré que c'était la colonne G de la feuille HEURES
La macro Synthèse globale fait appel à la feuille PLANNING qui n'a pas d'infos : d'où viennent-elles ?
Le montant HT du PLANNING est-il le même que Montant Commande OS ?
La feuille RESULTAT BE est alimentée à partir de quelles infos ?

heures total et le cumul des initiales : Plus précisément ?

ton objectif : est-ce d'alimenter la feuille SYNTHESE à partir des feuilles PLANNING RESULTAT BE et ... autres (à préciser)

je te joins le fichier SEBE37 avec le n° d'affaires comme dit ci-dessuss
 

Pièces jointes

  • SEBE37.zip
    437.1 KB · Affichages: 45
  • SEBE37.zip
    437.1 KB · Affichages: 47
  • SEBE37.zip
    437.1 KB · Affichages: 45

CHAKAL37

XLDnaute Junior
Re : constituer une liste puis trier un classeur avec celle ci

Bonsoir,

Merci d'avoir consacré un peu de temps à mon tableau. Je vais t'expliquer les principes et le fonctionnement.
Je récupere les infos du planning BE ( qui se trouvent dans le fichier planning2.xlsx ) en cliquant sur le bouton "importation planning", je récupère les infos financières ( qui se trouve dans le fichier résultats BE 37.xls ) en cliquant sur le bouton "Importation résultat BE", enfin j'importe les données temps et personnels ( qui sont dans le fichier OIZ DEPOINTAGE.xls )en mettant d'abord à jour la liste du personnels ( bouton "Mise à jour liste"), je sélectionne les personnes dont je souhaite connaitre les résultat horaires ( bouton "Sélection" ) et j'importe les données correspondantes via le bouton "Importation TEDDY". Enfin la nsynthèse globale de toutes ces informations importés se fait via le bouton "Synthèse globale". Voila pour le fonctionnement.
Ensuite le numéro d'affaire correspond au N° de CI, c'est donc bien la colonne G de la feuille d'heure. Le montant HT de planning n'est pas le montant commande OS ( cet info se trouve dans "Résultat BE" ). Le but des feuilles IMPORT TEDDY et Feuille HEURES est d'importer puis d'extraire du classeur OIZ, toutes les heures des personnes dont nous avons fait la sélection auparavant afin de faire un cumul des heures de ces personnes par affaire ( ou N° de CI ). Pour identifier rapidement les personnes je définit leur initiales selon une process définit au sein de l'entreprise et valable pour tout le monde. L'objectif de la feuille HEURE est de réunir par N° de CI le cumul des heures des personnes sélectionnés ( que nous identifierons par leur initiales ). Pour la synthèse, je récupère dans la feuille HEURE le cumul des heures et la liste des personnes ayant intervenu sur chaque N° de CI. C'est pour cela qu'il faut que j'ai l'identification du numéro de CI avec le total pour que je puisse faire la liaison avec mes données précédentes et ainsi récupérér le cumul d'heure et la liste des personnes intervenu sur les affaires ( ou n° de CI ).
Dans la feuille SYNTHESE, la colonne Agent recensera les personnes ayant travaillés sur les affaires ( cumul d'initiales ), la colonne HEURE ENREGISTRE correspondra au cumul d'heure du N° de CI, la colonne "montant de la valo" correspondra au produit de la colonne HEURE ENREGISTRE par le chiffre 46 ( chiffre susceptible d'être changer plus tard ). Enfin la colonne Sous Traitant et observation resteront vides ( réservé à la personne faisant l'exploitation des données pour inscrire certaines informations complémentaires ne se trouvant dans aucun tableau pour le moment ).
J'avais effacés toutes les données de mon précédent fichier SEBE car ce dernier arrivait à une taille magnifique de 6Mo.
Après nettoyage j'ai réussit à à le faire tomber a 771 Ko, je te le remet donc avec l'ensemble des données importées.
Concernant ton fichier, c'est exactement ce que je souhaitais !! Parfait ! Merci encore une fois.

@+
 

Pièces jointes

  • SEBE37_Chakal21012013.zip
    507.4 KB · Affichages: 41

CHALET53

XLDnaute Barbatruc
Re : constituer une liste puis trier un classeur avec celle ci

Bonjour,

Je pense avoir compris le fonctionnement
Concernant la synthèse :
Actuellement, elle contient tous les enregistrements du fichier PLANNING2 + des infos extraites de la feuille RESULTAT BE.

Est-ce que ta demande consiste à n'y voir que les individus qui ont fait l'objet d'une sélection et les CI correspondants, c'est ce que je crois comprendre de cette partie de ton message :

Dans la feuille SYNTHESE, la colonne Agent recensera les personnes ayant travaillés sur les affaires ( cumul d'initiales ), la colonne HEURE ENREGISTRE correspondra au cumul d'heure du N° de CI, la colonne "montant de la valo" correspondra au produit de la colonne HEURE ENREGISTRE par le chiffre 46 ( chiffre susceptible d'être changer plus tard )

Je vais profiter du soleil pour faire un tour sur les sommets enneigés : je reprends ton dossier ce soir

a+
 

CHAKAL37

XLDnaute Junior
Re : constituer une liste puis trier un classeur avec celle ci

Bonjour,

J'espère que ta journée au soleil sur les sommets enneigés s'est bien déroulés.

Dans la feuille SYNTHESE, en plus des infos de PLANNING2 et de RESULTAT BE, je souhaite intégrer en compléments les infos par affaire N° de CI des personnes ayant intervenu sur ces dossiers avec le cumul d'heures. Pour que tu comprennes bien ce que je souhaite, j'ai complété manuellement dans le tableau SEBE le résultat de 4 affaires dans SYNTHESE.
J'ai pas le temps de détaillé nos fichiers en journée et j'en suis vraiment désolé, mais ce soir je regarde nos précédents posts et je boucle le tout ( parce qu'on est très proche du resultat final voulu )

merci encore.

@+
 

Pièces jointes

  • SEBE37.zip
    486.6 KB · Affichages: 42
  • SEBE37.zip
    486.6 KB · Affichages: 41
  • SEBE37.zip
    486.6 KB · Affichages: 42

CHALET53

XLDnaute Barbatruc
Re : constituer une liste puis trier un classeur avec celle ci

bonsoir,

Lance le traitement synthèse pour voir si c'est ce que tu attends
J'ai complété le traitement dans la feuille HEURES (en colonne O,P,Q) pour récupérer uniquement les infos correspondant aux lignes Total du tableau (à gauche)

Je mets par pgm VBA les formules de recherche dans la feuille SYNTHESE pour retrouver les infos que tu souhaites.
Le programme copie les formules en AA1 à AC1 dans les colonnes concernées : ne pas détruire ces 3 cellules

a+
 

Pièces jointes

  • SEBE37.zip
    534.1 KB · Affichages: 45
  • SEBE37.zip
    534.1 KB · Affichages: 47
  • SEBE37.zip
    534.1 KB · Affichages: 45

CHAKAL37

XLDnaute Junior
Re : constituer une liste puis trier un classeur avec celle ci

Bonsoir,

Après test et bien je peux te dire que la mission est remplie et BIEN remplie ! C'est absolument ce que je souhaitait avoir ! Y a juste des lignes deconnantes, mais comme je ne suis pas sur a 100% de certains tableaux, je ne pense pas que ça vienne des macros ( certaines lignes dans SYNTHESE n'ont que des N° de CI ... A part le tableau PLANNING qui comporte des redondances et des erreurs, je ne voit que cette source pour cet affichage bizarre )
Encore une fois un très grand merci. Je redécortiquerais tout cela sur grand écran dans les jours à venir ( la sur un pc portable 15 pouces c'est pas forcement l'ideal ! ).
Encore et une dernière fois, merci pour ta disponibilités, tes compétences et ta patience.
Bonne nuit et à un prochain tableau !
@ +
 

Discussions similaires

Réponses
7
Affichages
277

Statistiques des forums

Discussions
315 123
Messages
2 116 457
Membres
112 752
dernier inscrit
PUARAI29