Copier Coller une extraction sans doublons dans une autre feuille

Spinzi

XLDnaute Impliqué
Bonjour à tous,

Arpès m'être essayé à la macro "manuelle" (enregistrement) je me suis vite rendu compte qu'elle ne fonctionnait pas pour tous les types de fichiers (matrice limitée suivant la selection d'origine).
C'est pourquoi j'aurai besoin de vos service pour créer une macro sous VBA pour :
_Extraire une liste sans doublon de l'onglet "Toutes Prestations"
_eans une feuille excel différente "Recap" dans la colonne "Affaire"

Il faut savoir que le fichier aura toujours la même structure mais p-e pas le même nombre de lignes !

Merci d'avance,
 

Pièces jointes

  • arc_mb_affaire_exdl.xls
    144 KB · Affichages: 321
  • arc_mb_affaire_exdl.xls
    144 KB · Affichages: 313
  • arc_mb_affaire_exdl.xls
    144 KB · Affichages: 310

Spinzi

XLDnaute Impliqué
Re : Copier Coller une extraction sans doublons dans une autre feuille

Bonjour,

@Dranreb : comment pourrais je savoir qu'elle est puissante et performante puisque je n'en ai aucun descriptif ? Et oui, si je demande de l'aide, est implicite le fait que je n'ai pas beaucoup de connaissance en VBA non ? Alors comment pourrais-je décripter la votre tout seul ... Une réponse me satisfaisant aurait été de me signifier l'importance de ce "nombre" !
Ensuite, pour revenir à l'importance d'extraire les doublons, c'est pour éviter, comme dans toute bonne base de données il me semble, la redondance des informations. Alors avoir 3 fois le même numéro d'affaire sachant que je trie tout ensuite par des index-equiv, je n'en vois aucune utilité. Si je pouvais vous fournir un fichier complet, je le ferai. Cependant, et ce n'est pas moi qui l'invente, le site oblige que les fichiers soient anonymisés. Je travaille en outre avec des fichiers professionnels (à données je parle) qui ne regardent aucun d'entre vous.
Pour en finir, qu'on me demande gentiment et poliment de m'expliquer sur mes attentes en me demandant d'être plus précis, etc., sans aucun problème. Mais qu'un bougre mal luné et qui plus est mal poli s'enerve contre moi, c'est la meilleure.
Certe j'ai besoin d'aide et je suis dépendant, et certains trouveront que je suis mal placé pour l'ouvrir, mais je compte pas me faire marcher sur les pieds.
Si c'est pour répondre de la même sorte que votre précédent message, abstenez vous. Si c'est pour essayer de comprendre ce dont j'ai besoin et me demander des informations necessaires, je vous répondrai avec plaisir.
Bonne journée.

@Bebere : je n'arrive pas à faire fonctionner la macro :s (Erreru d'exécution 9 : l'indice n'appartient pas à la selection).
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Copier Coller une extraction sans doublons dans une autre feuille

Soit. J'ai sans doute eu le tort de ne pas vous dire ce qui suit plutôt, pour vous y rendre attentif, et je m'en excuse :
Vous trouverez en tête du module MRécapituler les commentaires expliquant toutes les possibilité de cette fonction ainsi que la façon de s'en servir, par la description des paramètres à spécifier, juste derrière l’instruction Function Récap.
Ensuite:
avoir 3 fois le même numéro d'affaire sachant que je trie tout ensuite par des index-equiv, je n'en vois aucune utilité[/code]
Ça je comprend. J'en déduis un peu que les doublons vous sont un peu imposeés de l'extérieur et que vous avez bien sur à vous en débarasser. Mais pas des informations qui suivent dans les autres colonnes. Ce que je voulais vous faire passer comme message c'est que vous n'avez peut être pas besoin de quoi que ce soit d'autre que Récap pour les avoir aussi dans la liste sans doublon. La charge "Liste" par exemple restitue la valeur trouvée dans la 1ère occurence.
Mes excuses pour vous avoir été si désagréable.
Cordialement.
 

Spinzi

XLDnaute Impliqué
Re : Copier Coller une extraction sans doublons dans une autre feuille

Pas de problème ! :)

Vous trouverez ci joint un fichier type original auquel j'ai enlevé les informations essentielles. Vous pourrez donc voir la structure complète du fichier !
Par rapport à ce fichier, je cherche donc à copier sans doublon les numéros d'affaires qui se trouvent dans l'onglet WD0_Toute_Prest colonne G dans l'onglet WD0_Recap grâce a une VBA et un bouton qui se trouvera sur la feuille WD0_Recap.

J'ai aussi un autre pb qui est survenu, c'est lorsque je copie longlet recap sur une autre extraction : il reprend le chemin du fichier source. J'ai essayé d'intégrer une fonction faisant rappel du nom du classeur en cours (=STXT(Cellule("filename";A1).....), mais sans succés. J'aimerai donc que le changement de chemin se face automatiquement pour que je n'ai qu'a copier mon onglet récap sur d'autres extraction et que cela se fasse automatiquement (astuce, formule ou VBA). Pour l'instant, je suis obligé de supprimer ce qui ce trouve dans les onglets extraits (WD0, WD0 P1,WD0 P2, etc) et de copier les valeurs de ma nouvelle extraction dans ces onglets. Si je fais un copier coller des onglets, j'obtiens #REF.

Et si je ne suis pas clair, je peux tout vous réexpliquer ! :p

ps : mon fichier est normalement plus complet que ça mais j'ai du le réduire car il dépassait la taille autorisée pour l'up de fichiers
 

Pièces jointes

  • arc_mb_affaire_WD0_2011_12.zip
    405.2 KB · Affichages: 203

Dranreb

XLDnaute Barbatruc
Re : Copier Coller une extraction sans doublons dans une autre feuille

Aïe ! Et il n'est absolument pas possible d'avoir ce N°d'Affaire en colonne de tête ?
Sinon, oui, justement d'après les formules que je vois, en gros, Récap serait pratiquement capable de tout restituer !
J'ai bien envie de voir ce que je peux faire avec le module MàJRécap...
Un bouton pourrait ne pas être forcément nécessaire. Le calul pourrait se faire à l'activation de la feuille.

P.S. Ça se confirme: à titre d'essai, la majeure partie des colonnes est restituée par cette formule validée par Ctrl+Maj+Entrée, mais classé par N° d'affaire, celui ci étant en tête:
Code:
=Récap(WD0_TOUTES_PREST.!$G$3:$G$65536;"Lst";WD0_TOUTES_PREST.!$H:$H;"Lst";WD0_TOUTES_PREST.!$B:$B;"Lst";WD0_TOUTES_PREST.!$C:$C;"Lst";WD0_TOUTES_PREST.!$D:$D)
Mais ça ne suffit pas à cause des colonnes restantes et des lignes total. Et c'est là que la procédure MàJRécap pourrait entrer en jeu pour respecter les formules des colonnes restantes. Pourrait-on déplacer en tête le n° d'affaire ? (sinon on peut encadrer l'appel à MàJRécap d'instructions qui insèrent une colonne devant puis, après la supprime)
Le classement par N°d'affaire convient, au moins ? (dans votre exemple ce n'est pas classé ainsi)

P.S.2 Qu'appelez vous une autre extraction ? Pouvez me le dire le plus précisément possible, en me disant, si c'est ce qu'il y a de moins, ce qui ne change pas. Parce que si c'est un autre classeur, dont les onglets ont d'autre noms, d'autres structures ou les mêmes mais dans un ordre différent, je ne vais pas pouvoir faire grand chose pour vous.
À +
 
Dernière édition:

Spinzi

XLDnaute Impliqué
Re : Copier Coller une extraction sans doublons dans une autre feuille

Bonjour Dranreb !

pour le numéro d'affaire en colonne de tête, ce n'est malheureusement pas possible (dans ma feuille Wd0 Recap si sans problème si c'est ce dont vous parlez, mais dans les extractions [WD0 Toutes prest, WD0 P1, P0, P2 ....] ce n'est pas possible puisque les extractions sortent toutes sous le même format, avec les onglets dans le même ordre (quelques uns en plus mais ils sont à la fin)).

Le but de mon fichier et des calculer, à la fin, le CA et la marge brute totale par affaire tout cela me permets par la suite le tri par valeur croissante ou décroissante de la marge. Pour cela j'additionne pour chaque affaire, le CA ou la marge brute pour chaque type de prestations (P1, P2, P3, P4, P5, P7). Infos qui se trouvent dans les onglets respectifs.
J'ai un lien dans l'onglet "toutes prest" seulement pour récupérer tous les numéros d'affaires !

ps : les autres onglets que le miens sont les extractions dont j'ai besoin et où j'ai seulement retiré les infos vraiment confidentielles !

Merci beaucoup en tout cas
 

Bebere

XLDnaute Barbatruc
Re : Copier Coller une extraction sans doublons dans une autre feuille

bonjour Spinzi,Dranreb
tu peux essayer
Worksheets("WD0_TOUTES_PREST.").Activate
Range("G2:G" & Range("G65536").End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("WD0_RECAP").Range("H4"), Unique:=True
 

Spinzi

XLDnaute Impliqué
Re : Copier Coller une extraction sans doublons dans une autre feuille

Bonjour Bebere,

n'ayant des difficultés en VBA, ces formules sont a placer en début de module ? A rajouter ou en remplaçant l'existant ?
Merci d'avance =)
 

Dranreb

XLDnaute Barbatruc
Re : Copier Coller une extraction sans doublons dans une autre feuille

Bonjour.
J'ai du nouveau.
C'est une sorte de classeur type muni des macros nécessaires pour installer et actualiser les feuilles récap dans vos classeurs dits d'extractions. Un certain flou restait quant au nom des onglets. Pareils ou pas pareils ? J'ai admis pareils provisoirement.
P.S. Attention, il est nécessaire de supprimer vos feuilles WD0_RECAP avant d'installer celle du classeur type, ou de les reléguer au delà de la WD0_P1
P.S.2 J'ai renvoyé le classeur: j'avais oublié d'enlever des Stop pour MàP. J'ai mis quelques commentaires en plus.
À +
 

Pièces jointes

  • MacroDranreb.xls
    974.5 KB · Affichages: 78
  • MacroDranreb.xls
    974.5 KB · Affichages: 92
  • MacroDranreb.xls
    974.5 KB · Affichages: 89
Dernière édition:

Spinzi

XLDnaute Impliqué
Re : Copier Coller une extraction sans doublons dans une autre feuille

Bonjour Dranreb,

Je n'arrive pas à mettre en fonctionnement le fichier que vous m'avez fait parvenir. J'ai essayé suivant plusieurs méthodes : suppression de la feuille WD0 Recap, relégation derrière la feuille WD0 P1 je l'ai même laissé, mais rien n'y fait, j'ai un message d'erreur quand je veux installer la macro ! :s
 

Dranreb

XLDnaute Barbatruc
Re : Copier Coller une extraction sans doublons dans une autre feuille

Bonjour.
Quel message d'erreur ? Il affiche naturellement des messages si on tente de l'utiliser sur lui même. Quelle installation ? La macro n'est pas à installer ailleurs.
Normalement un petit userform "Feuille récapitulative" est affiché pendant toute la durée où ce classeur de macros est ouvert, même quand vous en activez d'autres qu'il est chargé de traiter. Ça ne fonctionne pas ?

Oui, à la 1ère utilisation il ne peut pas reconnaître une ancienne feuille Récap parce qu'elle ne comporterait pas de plage nommée "LgnExtract" et il croirait que c'est la WD0_TOUTES_PREST. Mais si vous oubliiez de le faire ce ne serait pas grave: il suffirait d'utiliser 2 fois le bouton Supprimer (Une 1ère fois pour la mauvaise qui aurait été créée) puis ensuite le bouton Installer

Remarque: pour la suppression, il demande toujours confirmation, que cette plage existe ou non.
Le bouton Installer fait aussi Actualiser dans la foulée après avoir copié sa propre feuille WD0_RECAP dans le classeur cible. Et il veille à remettre les formules des colonnes Departement, CA et MB, sans changer pour l'instant les noms d'onglets (vous n'avez pas dit qu'ils pouvaient être différents) mais sans laisser de mauvais liens avec les autres feuilles du classeur de macro.

À +
 
Dernière édition:

Spinzi

XLDnaute Impliqué
Re : Copier Coller une extraction sans doublons dans une autre feuille

Ma procédure dès l'ouverture de votre fichier : je me place sur WD0_Recap et appuie sur la commande "supprimer". Ici, un message d'erreur apparaît : "Supprimer la feuille active (présumée être le recap) : Veuillez ouvrir ou activer le classeur à traiter".
Je r'appuie sur supprimer, puis installer mais j'ai toujours le même message d'erreur.

Pour les feuilles, celles que j'utilise seront toujours dénommées pareil après l'extraction ! :)

ps : si vous le souhaitez je peux vous faire parvenir des imprim.écran pour plus de compréhension.
 

Dranreb

XLDnaute Barbatruc
Re : Copier Coller une extraction sans doublons dans une autre feuille

Les réactions que vous décrivez sont tout à fait normales. Faites ce qu'il vous dit de faire tout simplement: ouvrez ou activez le classeur à traiter ! Il ne va quand même pas supprimer son propre modèle de feuille Récap qu'il est chargé de pouvoir installer dans d'autres classeurs ! Cet userform est affiché non modal. Il n'empêche aucune manœuvre dans n'importe quel classeur pendant qu'il est affiché. Il est chargé de travailler sur le classeur actif. Mais il refuse de faire quoi que ce soit s'il porte son propre nom, car alors c'est lui même ! Il va pas se faire Harakiri quand même, il est seulement fait pour travailler sur d'autres classeurs que lui même.
 

Spinzi

XLDnaute Impliqué
Re : Copier Coller une extraction sans doublons dans une autre feuille

Je fais donc comment pour l'utiliser ?
Si j'ai bien copie il fait sa petite tambouille dans l'onglet "WD0_Recap"; OK; mais je vois pas du tout comment l'utiliser ni quoi faire pour l'utiliser correctement !

Et le pb c'est qu'il ne me dit rien...
 

Dranreb

XLDnaute Barbatruc
Re : Copier Coller une extraction sans doublons dans une autre feuille

Une fois l'userform "Feuille récapitulative" affiché, 2 cas:
1 - Le classeur que vous voulez traiter a déjà été ouvert (dans la même fenêtre Windows évidemment) avant d'ouvrir le classeur de macro. Menu Fenêtre, Sélectionnez le.
2 - Il n'est pas encore ouvert: Menu Fichier, Ouvrir
Vous pouvez aussi l'ouvrir par Windows ou le sélectionner dans la barre d'outils Windows, mais à condition que soit normalement cochée l'option "Parcourir dans une même fenêtre", après bouton "Avancé", pour type XLS, dans "Types de fichiers", dans les "Options des dossiers" de l'explorateur.
L'userform reste tout le temps affiché pendant ces opérations. Il reste affiché pendant tout le temps où le classeur de macro reste ouvert. D'ailleurs si vous essayez de fermer l'userform, il vous demande si vous voulez fermer le classeur. Si vous refuser, il rejette aussi la demande de fermer l'userform. Dès lors qu'un autre classeur que lui est actif, il peut y installer une copie de sa feuille WD0_RECAP, Actualiser une feuille Récap existantes ou supprimer la feuille active. L'userform est un peu là dans son coin comme une barre d'outils. Il ne réagit que si on clique sur un de ses boutons mais n'empêche aucune manœuvre, tout comme s'il n'était pas là !
 
Dernière édition:

Spinzi

XLDnaute Impliqué
Re : Copier Coller une extraction sans doublons dans une autre feuille

Bonjour Dranreb !

J'ai un message d'erreur comme quoi l'indice n'appartient pas à la selection lorsque que j'ouvre votre fichier, que j'ouvre le classeur que je veux trier et qu'ensuite j'appuie sur "Installer" ...
Mais je crois que je commence à comprendre comment utiliser le fichier =)
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 928
Membres
103 404
dernier inscrit
sultan87