Maryloo2005
XLDnaute Nouveau
Bonjour,
Je suis nouvelle dans ce forum. J'ai un problème que je sais résoudre mais qu'il faudrait transposer en macro pour que ce tableau puisse être utilisé par une tierce personne utilisatrice d'Excel mais sans compétence informatique.
Moi, je connais Excel mais pas les macros. J'ai essayé mais cela a buggé...
En fait, chaque semaine, on reçoit des pièces à réparer (colonne K : Reperation_Entry_Date), on doit pouvoir savoir s'il y a des références nouvelles (colonne D : Reference_Watch) par rapport à toutes les références qui existaient déjà avant.
Chaque semaine, la personne utilisatrice du tableau recevra la base de données complète (feuille Reperation). Dans le doc joint, j'ai vidé les données des colonnes qui ne nous servent à rien et je n'ai laissé qu'une année pour alléger le fichier mais la base reçue est normalement complètement remplie pour 5 ans, donc très lourde.
Chaque semaine, de nouvelles lignes s'ajoutent à la base.
L'idéal serait que la personne utilisatrice n'ait qu'à entrer le jour de début de la semaine et le jour de fin de la semaine dans 2 cellules, puis elle cliquerait sur un bouton qui déclencherait la macro et elle pourrait lire, dans une 2e feuille (ou dans un autre classeur ?), les nouvelles références.
Ensuite, je pense qu'il faut faire les manipulations suivantes, et c'est cela que je n'arrive pas à automatiser :
1. En V1 et en W1 copier-coller (sans les guillemets) "Reperation_Entry_Date". La personne utilisatrice aura juste à saisir (sans les guillemets) ">=13/04/2015" en V2 et "<=19/04/2015" en W2, par exemple pour la semaine 16. Bien sûr, elle aura une nouvelle base chaque semaine et elle changera ces dates chaque semaine.
2. Dans la base, supprimer toutes les colonnes inutiles et ne conserver que les colonnes D et K qui deviennent donc les colonnes A et B.
3. Trier dans l'ordre croissant A à Z des Reperation_Entry_Date.
4. Filtrer la semaine. Pour l'exemple cité ci-dessus : semaine du 13/04 au 19/04/2015 (ou semaine 16), je pensais faire un filtre avancé avec la base complète (colonnes A et B) et la zone de critères (D1 à E2), à filtrer sur place.
5. Cela nous donne uniquement les lignes pour la semaine. Copier-coller ce résultat (colonnes A et B) dans la cellule A1 d'une nouvelle feuille du classeur qui, idéalement serait à nommer "semaine 16"mais je pense que cela n'est pas possible avec la macro. Si ce n'est pas possible, ce n'est pas grave, l'utilisatrice pourra à la fin renommer cette Feuil2 "semaine 16".
6. Revenir dans la première feuille "Reperation" et supprimer les lignes filtrées de la base (il faut sélectionner toutes les lignes apparentes, sauf la ligne des titres puis supprimer ces lignes).
7. Effacer le filtre de la base Reperation. Cela nous laisse la base complète, débarrassée des lignes de la semaine 16.
8. Trier sur la colonne A (Reference_Watch) dans l'ordre croissant A à Z.
9. Se replacer dans la Feuil2. En B2, supprimer le contenu de la cellule et entrer la formule suivante =RECHERCHEV(A2;Reperation!A:B;2;FAUX) puis recopier cette formule vers le bas. Cela va remplacer les dates qui apparaissaient dans ces cellules.
10. Les nouvelles références sont celles pour lesquelles apparaît le message d'erreur #N/A.
11. Filtrer en colonne B pour ne faire apparaître que les #N/A. Masquer la colonne B. Enlever les doublons avec Données/ Supprimer les doublons.
12. On obtient ainsi la liste des nouvelles références apparues en semaine 16. Chaque semaine, on devra noter les dates de la semaine et lancer la macro pour refaire l'extraction.
J'espère que je me suis fait comprendre. Peut-être existe-t-il une méthode plus simple ?
Ci-joint le fichier concerné. Je vous remercie d'avance de voir si c'est possible d'automatiser cela, afin que cela soit simple d'utilisation.
Merci d'avance !
Mary
Je suis nouvelle dans ce forum. J'ai un problème que je sais résoudre mais qu'il faudrait transposer en macro pour que ce tableau puisse être utilisé par une tierce personne utilisatrice d'Excel mais sans compétence informatique.
Moi, je connais Excel mais pas les macros. J'ai essayé mais cela a buggé...
En fait, chaque semaine, on reçoit des pièces à réparer (colonne K : Reperation_Entry_Date), on doit pouvoir savoir s'il y a des références nouvelles (colonne D : Reference_Watch) par rapport à toutes les références qui existaient déjà avant.
Chaque semaine, la personne utilisatrice du tableau recevra la base de données complète (feuille Reperation). Dans le doc joint, j'ai vidé les données des colonnes qui ne nous servent à rien et je n'ai laissé qu'une année pour alléger le fichier mais la base reçue est normalement complètement remplie pour 5 ans, donc très lourde.
Chaque semaine, de nouvelles lignes s'ajoutent à la base.
L'idéal serait que la personne utilisatrice n'ait qu'à entrer le jour de début de la semaine et le jour de fin de la semaine dans 2 cellules, puis elle cliquerait sur un bouton qui déclencherait la macro et elle pourrait lire, dans une 2e feuille (ou dans un autre classeur ?), les nouvelles références.
Ensuite, je pense qu'il faut faire les manipulations suivantes, et c'est cela que je n'arrive pas à automatiser :
1. En V1 et en W1 copier-coller (sans les guillemets) "Reperation_Entry_Date". La personne utilisatrice aura juste à saisir (sans les guillemets) ">=13/04/2015" en V2 et "<=19/04/2015" en W2, par exemple pour la semaine 16. Bien sûr, elle aura une nouvelle base chaque semaine et elle changera ces dates chaque semaine.
2. Dans la base, supprimer toutes les colonnes inutiles et ne conserver que les colonnes D et K qui deviennent donc les colonnes A et B.
3. Trier dans l'ordre croissant A à Z des Reperation_Entry_Date.
4. Filtrer la semaine. Pour l'exemple cité ci-dessus : semaine du 13/04 au 19/04/2015 (ou semaine 16), je pensais faire un filtre avancé avec la base complète (colonnes A et B) et la zone de critères (D1 à E2), à filtrer sur place.
5. Cela nous donne uniquement les lignes pour la semaine. Copier-coller ce résultat (colonnes A et B) dans la cellule A1 d'une nouvelle feuille du classeur qui, idéalement serait à nommer "semaine 16"mais je pense que cela n'est pas possible avec la macro. Si ce n'est pas possible, ce n'est pas grave, l'utilisatrice pourra à la fin renommer cette Feuil2 "semaine 16".
6. Revenir dans la première feuille "Reperation" et supprimer les lignes filtrées de la base (il faut sélectionner toutes les lignes apparentes, sauf la ligne des titres puis supprimer ces lignes).
7. Effacer le filtre de la base Reperation. Cela nous laisse la base complète, débarrassée des lignes de la semaine 16.
8. Trier sur la colonne A (Reference_Watch) dans l'ordre croissant A à Z.
9. Se replacer dans la Feuil2. En B2, supprimer le contenu de la cellule et entrer la formule suivante =RECHERCHEV(A2;Reperation!A:B;2;FAUX) puis recopier cette formule vers le bas. Cela va remplacer les dates qui apparaissaient dans ces cellules.
10. Les nouvelles références sont celles pour lesquelles apparaît le message d'erreur #N/A.
11. Filtrer en colonne B pour ne faire apparaître que les #N/A. Masquer la colonne B. Enlever les doublons avec Données/ Supprimer les doublons.
12. On obtient ainsi la liste des nouvelles références apparues en semaine 16. Chaque semaine, on devra noter les dates de la semaine et lancer la macro pour refaire l'extraction.
J'espère que je me suis fait comprendre. Peut-être existe-t-il une méthode plus simple ?
Ci-joint le fichier concerné. Je vous remercie d'avance de voir si c'est possible d'automatiser cela, afin que cela soit simple d'utilisation.
Merci d'avance !
Mary