[Excel] Macro pour copier coller avec filtre

Résolu
karaboudjan Messages postés 45 Statut Membre -  
 Jimbo -
Bonjour,

Avec plusieurs onglets de même structure sur des fichiers différents, j'aimerai rassembler (donc copier coller) toutes les informations filtrées auparavant (par exemple par date) sur un seul onglet également de structure identique.

Dans un deuxième temps j'aimerai que les informations rassemblées se suivent (nouvelles lignes), donc ne supprime en aucun cas les informations déjà collées.

En fait pour être proche de la réalité, je m'explique : chaque personne doit remplir tous les jours un fichier excel personnalisé qu'il me renvoie. Mon but est de rassembler toutes les informations des personnes sur un seul et même onglet afin d'exploiter ces informations.

J'ai essayé d'être le plus clair possible. Pour tout détail, je suis là.

D'avance, je vous remercie pour votre aide et de vos réponses, qui je l'imagine seront constructives au fur et à mesure.

Karaboudjan
Configuration: Windows 2000
Internet Explorer 6.0

15 réponses

  1. Triton972 Messages postés 23 Statut Membre
     
    Bonjour,
    Récapitulons :
    Tu as un fichier de base "Base" que tu veux enrichir régulièrement à partir des données d'autres fichiers "Fich1", "Fich2", ... que tu auras, au préalable, filtrés pour éviter de recopier plusieurs fois les mêmes données !
    Est-ce bien çà ?
    A premiere vue je ferai comme çà :

    "Base" doit avoir 2 onglets :
    1° onglet avec les données "Donnée" avec comme 2° ligne les titres des colonnes et dans la cellule (1,1) le nombre de lignes non nulles
    2° onglet avec un interface qui te permet :
    - D'afficher ton critère de filtre (Date ou autre chose)
    - De saisir le nom du fichier dont tu veux rapatrier les données

    Après c'est du VB ...
    Combien as-tu de fichiers à traiter par jour ??
    Si tu n'en as pas beaucoup,la procédure pourrait être :

    Ouvrir le fichier a rapatrier
    Ouvrir "Base"
    Saisir critère+nom fichier

    Le principe du code pourrait être :

    Lire nom fichier
    Lire nb de lignes non nulles :cells(1,1)
    Lire les critères de filtre
    Lire ou compter le nombre total de ligne de "Fich1"
    Faire une boucle sur le nombre de ligne de "Fich1"
    Tester à chaque ligne les conditions
    -> si OK copie des informations dans "Base" puis ligne suivante de "Fich1" à partir de la dernière ligne +1
    -> si pas OK ligne suivante de "Fich1"
    jusqu'à la fin de "Fich1" ...

    Dis moi si le principe te parait bon
    @+
    0
    1. Jimbo
       
      Sans Macro:

      Pour copier/coller une zone de cellules d'une feuille filtrée, vers une autre zone de cellule de la même ou d'une autre feuille filtrée aussi, et cela sans emmener, ni écrire sur les lignes masquées par ce filtre, j'ai trouvé la solution de copier avec liaison.
      En effet la copie avec liaison permet de faire gérer à Excel les cellules comme des formules et non pas des valeurs. (La copie de formules se passe toujours bien)
      Ensuite je sélectionne ces valeurs avec liaison collées, et réopère un copier/coller des valeurs de ces cellules collées avec liaison en tant que valeurs.
      Le tour est joué.
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    afin de traiter correctement ton problème en VBA le plus simple serai que tu nous envoi un modéle de fichier avec ce lien

    https://www.cjoint.com/

    A+
    0
    1. cbauf Messages postés 5337 Date d'inscription   Statut Contributeur Dernière intervention   803
       
      Sorry
      j'interfère ¨

      d'après ce que je comprend avec ce lien,
      il y a moyen sans avoir d'"espace internet à soi" ( le nom m'échappe!)
      pauser provisoirement un"objet" qui a la faculté de pouvoir être consulter

      champ 1 = ok
      2 = pas compris
      3 = ok

      Désolé, j'apprend à surfer, et c'est dure de rester dans la vague

      Merci d'un brin d'expliquation.
      0
  3. cbauf Messages postés 5337 Date d'inscription   Statut Contributeur Dernière intervention   803
     
    Bonjour,
    moi personnellement, je travaillerais en base de données
    mais ceci n'engage que moi !
    0
    1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Salut,

      Il est possible que cela suffise, c'est pour cela qu'avant de partir tête baissée dans des explications interminables, depuis quelques temps je demande au demandeur de mettre sur le forum un exemple de ses attentes, pour nous permettre de mieux cerner le problème

      A+ et bonne journée
      0
  4. karaboudjan Messages postés 45 Statut Membre 39
     
    oui Triton972, c'est à peu près ce que je souhaite mais j'ai environ une vingtaine de "fichier personne" à traiter (lien : https://www.cjoint.com/?ezjpjIR1X2). Je précise que les onglets "dupont" et "lajoie" sont sur des classeurs différents (à leur nom) mais jumelés avec le même onglet "paramètres".
    Donc, ce que je souhaite c'est regrouper les informations par date sur ce fichier automatiquement par une macro (https://www.cjoint.com/?ezjrrBPHGt).

    En tout cas merci pour votre aide. Je suis toujours là pour répondre à tout renseignement.

    To cbeauf : Je n'utilise pas de base de données puisque je dois exploiter les informations du fichier synthèse (statistiques et graphiques). Mais merci du conseil.

    To Mike-31 : je suis conscient de ta remarque, mais c'est à titre professionnel que je fais cette démarche, donc il est parfois difficile de mettre les fichiers en ligne sans devoir les modifier avant. Il est clair que ta remarque est judicieuse que je comprends tout à fait.

    Karaboudjan
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    vas sur ce lien récupérer une solution

    https://www.cjoint.com/?ezqiZjTN2l

    au départ ouvres les deux fichiers et depuis Synthèse un bouton déclanche les macros.

    Il est possible de les écrires différemment mais pour te permettre de les modifier à tes besoins j'ai opté pour cette formule

    teste et on en reparle

    A+
    0
    1. philippe 14
       
      Bonsoir Mike,

      Vous avez eu récemment un échange (voir mail en histo). Pouvez-vous svp me faire parvenir les fichiers excel que vous aviez crées ?

      Merci,
      Philippe
      ------------------------------------------

      "Salut,

      vas sur ce lien récupérer une solution

      https://www.cjoint.com/?ezqiZjTN2l

      au départ ouvres les deux fichiers et depuis Synthèse un bouton déclanche les macros.

      Il est possible de les écrires différemment mais pour te permettre de les modifier à tes besoins j'ai opté pour cette formule

      teste et on en reparle

      A+"
      0
      1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147 > philippe 14
         
        Salut Philippe,

        Lorsqu'une discussion est résolue, je ne conserve pas les fichiers.

        Ouvres une nouvelle discussion en exposant ton problème concret envois moi un message sur cette ouverture de discussion en message privée pour me permettre de suivre

        A+
        0
  7. karaboudjan Messages postés 45 Statut Membre 39
     
    Comme je suis au travail, je ne peux ouvrir les fichiers zippés. (accès au site de téléchargement bloqué)
    Je ne pourrais voir le fichier avant de rentrer chez moi dans 2 jours (soit dimanche).

    Si tu es d'accord, on pourra en reparler dès lors. A moins que tu puisses scinder les fichiers zippés.

    En tout cas, merci pr ton travail fourni, c'est ultra sympa...

    Karaboudjan
    0
  8. karaboudjan Messages postés 45 Statut Membre 39
     
    Bonjour,

    C'est de l'excellent boulot Mike-31. Je t'en remercie fortement.

    Après réflexion (oui, je refléchis parfois !), je me suis dit qu'il valait mieux faire le traitement inverse puisque je reçois les fichiers personnes à des moments différents (c-à-d transfert des données personnes vers le fichier synthèse).
    Donc ce qu'il faudrait, c'est un bouton sécurisé (sécurisé aux seuls accès à l'administrateur du fichier synthèse) sur chaque onglet personne pour un transfert vers le fichier synthèse !!!
    Est-ce qu'il y a beaucoup de manip par rapport aux macro existante ?

    Sinon c'est exactement çe que je voulais... Merci du coup de main !!!

    Karaboudjan.
    0
  9. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Tout est possible, il faut veiller à la simplicité d'utilisation, ce que je te propose c'est de créer un code pour le déclenchement de la macro, plutôt qu'un code par onglet ce qui rendrai plus lourd le fichier et contraignant le nombre de code à retenir.

    Si c'est ce que tu veux donne moi ton code d'accès afin de l'intégrer à la macro et un code différent pour accèder à tes macros, afin que personne autre que toi y est accès afin éventuellement de le changer, modifier les macros etc...

    respecte bien les majuscules et minucules et note bien tes codes; Je les saisierai comme tu me les donneras

    note ces codes sur un fichier word et utilise ce procèdè pour me les faires parvenir

    1/ si ton fournisseur d'accès n'est pas free, dans l'adresse url saisie : https://www.free.fr/freebox/index.html
    2/ Lancer free et cliquer sur envoi de gros fichiers
    3 Fichier à envoyer faire parcourir et sélectionner le fichier à envoyer
    4/ Me notifier du lien par email saisir son adresse mail afin que free te notifie du lien
    5/ si tu veux protéger ton fichier saisie un mot de passe
    6/ envoyer
    Tu recevras de free un mail te donnant l’adresse pour récupérer ton envoi et éventuellement le supprimer dès que je l'aurai réceptionné.
    Il ne suffit plus que m’envoyer l’adresse du lien et le mot de passe pour y accéder si tu en a saisie un.
    L’intérêt de cette méthode est de pouvoir supprimer le fichier rapidement afin de le protèger et la démarche est anonyme
    A+
    0
  10. karaboudjan Messages postés 45 Statut Membre 39
     
    Salut,

    En fait ce n'est pas trop ce que je souhaite. Je m'explique :
    Chaque personne aura comme classeur excel les 2 onglets "paramètres" et l'onglet perso "dupont", "lajoie", "Durand", ... d'où autant de classeur que de personnes.
    Sur chaque classeur/onglet perso, il me faudrait un bouton pour qu'un administrateur utilisant le fichier synthèse, mette à jour ce dernier dès réception du fichier personne.
    D'où le code unique afin d'éviter que la personne mette en marche la macro inutilement (et de la dérégler !). L'utilisateur du code sera celui utilisant le fichier synthèse.
    Sinon, par la suite, le code peut-il être modifié ? (code par MP)

    Si il y a un problème d'interprétation, n'hésites pas !

    Merci beaucoup.

    Karaboudjan

    Edit : Je viens de voir la modif de ton post ! (14:12)
    Comme je suis au boulot, on m'interdit l'accès aux téléchargements (dl.free.fr; en l'occurence)
    0
  11. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    OK, si je te suis le bouton de commande Macro doit être sur le fichier personne et donc sur l'onglet de chaque utilisateur.

    EX Dupont aura à sa disposition un classeur personnel avec un onglet paramètre et Dupont et sur ce dernier un bouton et idem pour Lajoie etc...

    les macros étant sur le classeur synthèse.

    confirme moi que c'est ce que tu souhaites.

    n'empêche que tu devras mettre un code d'accès pour protéger le module macro

    A+
    0
    1. karaboudjan Messages postés 45 Statut Membre 39
       
      Oui c'est exactement ça !!!

      Mais le code sera unique ?
      0
  12. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Ok dès que j'ai un moment je te fais ça

    A+
    0
  13. karaboudjan Messages postés 45 Statut Membre 39
     
    Oui merci beaucoup pour ton aide !!!

    J'ai quelques infos en MP pour toi...
    0
  14. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    j'ai reconsidéré les macros, pour te faciliter leurs accès afin de les adapter aux divers agents de ton entreprise. Pour réduire leurs manips, le fichier synthèse reste comme il est, par contre le Classeur_Personnel devrait porter le Nom de l'agent et l'onglet qui actuellement est Dupont ou Lajoie pourrait porter un nom qui serait commun à tous, si tu as une idée fais ma le savoir

    A+
    0
  15. karaboudjan Messages postés 45 Statut Membre 39
     
    cf MP
    0
    1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      que veux tu dire par cf MP
      0
      1. karaboudjan Messages postés 45 Statut Membre 39 > Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention  
         
        "que veux tu dire par cf MP"

        Voir en MP (message privé)
        0