Créer une macro qui permet de trier dans un autre fichier

Fermé
jofi67 Messages postés 6 Date d'inscription mercredi 11 juillet 2012 Statut Membre Dernière intervention 2 novembre 2012 - 1 nov. 2012 à 20:20
jofi67 Messages postés 6 Date d'inscription mercredi 11 juillet 2012 Statut Membre Dernière intervention 2 novembre 2012 - 2 nov. 2012 à 20:30
Bonjour,

Afin de simplifier le suivi de mes techniciens, j'ai fait un fichier qui en synthétise 5 autres. Dans le fichier de synthèse j'ai utilisé la fonction RECHERCHEV() qui m'impose de faire un tri (selon outil utilisé) sur les 5 autres fichiers (extraction d'un logiciel). Afin de gagner du temps, vu que le nombre de fichiers annexes va augmenter, j'aimerai créer une macro qui me permettrai d'automatiser le tri en fonction des colonnes "outil utilisé" puis "technicien" dans les fichier 01,02... 05 à partir du du fichier synthèse sans avoir à ouvrir les 5... J'ai essayer une macro mais elle tri que dans le fichier synthèse.... ce qui me met le désordre !
Est-ce que ce type de macro est possible ?
Quelqu'un pourrait m'aider ?

J'ai zippé les fichiers sous ce lien : https://www.cjoint.com/?BKburv8SYtm

Merci par avance pour votre aide.

A voir également:

3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
Modifié par eriiic le 1/11/2012 à 22:12
Bonsoir,

tu pourrais utiliser cette formule en D5 :
=SI(SOMMEPROD(([01.xls]Feuil1!$C$2:$C$40=$A5)*([01.xls]Feuil1!$F$2:$F$40="Accompagnement"));1;"Autre")

Pour certains on retrouve les 3 valeurs, j'ai supposé que tu voulais qu'elle soit présente 1 fois pour la compter comme tu ne fais aucune référence à la date ni à aucun autre critère.

Sommeprod() est un peu gourmand en ressources.
Si ça devient trop lent tu peux ne conserver les formules que sur la 1ère ligne et les recopier vers le bas lors de mises à jour.
Ou bien envisager vba mais est-ce que ça vaut le coup ?

eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
jofi67 Messages postés 6 Date d'inscription mercredi 11 juillet 2012 Statut Membre Dernière intervention 2 novembre 2012
1 nov. 2012 à 22:39
Bonsoir Eric,

Merci pour l'info mais j'avais déjà essayer avec sommeprod... Le souci est que si le technicien n'apparait pas dans 01,02...05, il me l'affiche comme autre alors que j'aimerai que la case reste vide pour voir les points qui me reste à évaluer. C'est pourquoi j'avais fait le choix de recherchev avec la contrainte de faire des tri dans ces fichiers au préalable avant de lancer celui de synthèse.
C'est pour ça que je pensais qu'en vba j'aurai pu faire mes extraction et lancer directement la synthèse...

Dans tous les cas merci pour l'aide.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
Modifié par eriiic le 1/11/2012 à 23:01
Ca alors ?
=SI(NB.SI([01.xls]Feuil1!$C$2:$C$40;$A11);SI(SOMMEPROD(([01.xls]Feuil1!$C$2:$C$40=$A11)*([01.xls]Feuil1!$F$2:$F$40="Accompagnement"));1;"Autre");"")

Et ici différentes techniques pour lire dans un classeur fermé en vba.

eric
0
jofi67 Messages postés 6 Date d'inscription mercredi 11 juillet 2012 Statut Membre Dernière intervention 2 novembre 2012
2 nov. 2012 à 20:30
Bonsoir Eric,

Merci pour cette précision.
Ca fonctionne.... mais long à mettre en place... A la rigueur il ne faut le faire qu'une seule fois.

Je vais regarder en vba si je trouve qqch qui pourrait affiner, mais sinon je vais rester sur ta formule.

Merci pour ton aide

Geoffroy
0