Copier une ligne aléatoire vers un autre classeur

Bonjour,

Je me permets de solliciter votre aide pour un problème de macro que je n'arrive pas à résoudre, s'agissant de copier une ligne d'une base de données vers un autre classeur, avec conditions.

Je vais essayer d'être le plus clair possible en utilisant l'exemple joint, fictif et très simplifié :

  • J'ai un classeur 1 (sous forme xlsm) qui contient quelques 300 colonnes et potentiellement 600 lignes. (Dans le fichier joint [classeur1] j'ai simplifié en un exemple de 11 colonnes et 8 lignes mais le principe est le même).
  • Mon objectif est de copier toute une ligne (au choix de l'utilisateur) du classeur 1 vers un autre classeur (aux colonnes identiques en nombre et en libellé) pour que les données de cette ligne soient automatiquement présentées en graphiques et en tableaux pré-paramétrés dans cet autre classeur (classeur 2). Autrement dit, que l'utilisateur ait, sur un seul écran d'un classeur 2, un visuel plus agréable et plus condensé des items les plus importants, à partir d'une ligne très longue et indigeste du classeur source 1.
  • Ce second support (classeur 2) ne devrait pas être une autre feuille (ou onglet) du classeur 1, car ce classeur 1 ne doit pas être modifiable par accident par l'utilisateur.
  • De plus, dans le classeur 1, ne devraient être visibles, par commodité, que les lignes qui nous intéressent, à savoir celles pour lesquelles les cellules de la colonne K ("congés pris") sont vides.

En résumé, j'aurais plusieurs questions :

  • sachant que le classeur 1 est partagé, est-il possible d'avoir automatiquement une copie de ce classeur 1 (classeur 1bis) avec un filtrage des données : que n'y apparaissent que les lignes où la cellule en colonne K est vide ?
  • l'utilisateur aurait donc accès à cette "copie filtrée", et j'imagine qu'une intervention maladroite sur cette copie n'aurait pas de conséquence sur le fichier source du classeur 1 lié qui reste sécurisé (?)
  • la copie d'une ligne, au choix, de ce classeur 1bis vers la maquette pré paramétrée (classeur 2) pourrait-elle se faire avec un minimum de manœuvres ? voire 1 ou 2 boutons macro ? Ou existe-t-il une autre façon de s'y prendre ?

Exemple joint (classeur 1 et 2) :

En vous remerciant d'avance,

Bien cordialement

Jo-Lith

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

Merci beaucoup gmb pour ta réponse rapide !

la macro sur la feuille 1 est magique et convient parfaitement, au-delà de mes espérances !

par contre je ne comprends pas très bien la chronologie des actions, et comment fonctionne la macro "importer" de la feuille 2.

J'ai ouvert le ficher et il apparaît effectivement dans le UserForm1, mais comment les lignes aux cellules de la colonne K vides ont-elles été sélectionnées ?

(je ne suis pas familiarisé avec les formulaires)

Merci pour ton aide,

Jo-Lith

Ci-joint une version avec macro commentée.

Bye !

Merci gmb pour tous ces détails.

J'avoue que je suis dépassé et que je n'ai pas le niveau pour comprendre et re-paramétrer ce modèle de programmation et ne peux te solliciter davantage, mais j'ai compris les étapes de la démarche et vais m'inscrire dare-dare à des cours intensifs !

Merci encore pour ton aide et tes explications que je vais disséquer et digérer pas à pas.

Je reviendrai quand les fondamentaux seront dégrossis...

Bien à toi

Rechercher des sujets similaires à "copier ligne aleatoire classeur"