XL 2016 Copier en valeur en fonction d'une valeur

moun123

XLDnaute Nouveau
Bonjour à tous,

Je souhaite copier en valeur plusieurs données en fonction d'une donnée.
Mon tableau est constitué d'un onglet "Dossier de travail" qui peut être alimenté par un autre tableau (j'ai ajouter un onglet pour simuler l'autre tableau) et d'autres colonnes sont alimentés manuellement.
Les données de l'onglet "Dossier de travail" sont affichées de manière ponctuelle.
J'ai besoin que les colonnes "Cion", "Date départ", "Code D" et Libellé D" de l'onglet "Stock" soit alimentées en valeur en fonction de la donnée "N° identification qui est présente dans les onglets "Stock" et "Dossier de travail".
Il est possible qu'il y ait des filtres d'activer dans l'onglet "Stock".
L'onglet stock peut contenir environ 10000 lignes et l'onglet "Dossier travail" peut contenir 1000 lignes.

Si quelqu'un est mesure de m'aider ça serait très sympa car je viens d'y passer des heures sans résultats.
Merci par avance pour votre aide.
 

Pièces jointes

  • Gestion.xlsx
    262.8 KB · Affichages: 8

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @moun123 , le Forum

Je pense que c'est faisable par Formules mais je ne suis pas du tout spécialiste.
Je vois une solution avec un Algo VBA mais je ne sais pas si c'est ce que tu souhaites ?

Une question qui fera avancer tout le monde, avec tes "deux" source de données :
  • Stock
  • Source externe
En clair si le [N° identification] exemple "AAAAAAA" ne retrouve rien dans [Cion] de Stock (cellule vide) , il va ensuite aller chercher dans Source externe ? (Si il trouve dans stock, il s'arrête là ?)
Idem pour [Libellé D] / [Code D] ??

Par contre j'aimerai savoir dans ton exemple comment fait-il pour remplir [Date de départ] qui est vide dans Stock et qui n'existe pas dans Source Externe ???

Sans ces éclaircissements, que ce soit par formules ou VBA, je ne crains qu'on puisse te répondre avec une solution qui matche...

Bien à toi, à vous
@+Thierry
 

moun123

XLDnaute Nouveau
Tout d'abord merci pour ta réponse et ton aide. Je vais donc partir sur du VBA que je pourrai activer via un bouton.
Pour répondre à tes questions, si le [N° identification] est présent dans Dossier de travail alors c'est qu'il sera également présent dans Stock. Il ne faut pas chercher dans source externe.
L'onglet source externe est présent dans le fichier pour simuler un fichier externe qui alimente les différentes colonnes de
Dossier de travail.

Le but est de complété les champs [Cion], [Date de départ], [Libellé D] et [Code D] dans Stock (en valeur) à partir des données présentes ponctuellement dans Dossier de travail (sachant que certaines sont des formules et [Date de départ] en saisi manuelle). Les données de Dossier de travail seront effacés mais doivent être stockés dans Stock.

J'espère avoir répondu de manière suffisamment clair.
Encore merci pour ton aide.

Cédric
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonsoir Cédric, le Forum

Ouh là, j'avais compris complètement à l'envers !

Et chaque fois la Feuille Stock doit se mettre à jour sur 10,000 lignes, mais que sur certains champs... Et donc qui proviennent que de Dossier de travail qui contient 1,000 lignes...

Question si [Cion], [Date de départ], [Libellé D] et [Code D] sont déjà rempli dans Stock
Que fait-on ? On ignore ou on écrase avec nouvelles valeurs de Dossier de travail ?

La problématique pour rester optimisé, c'est qu'il va falloir mettre les 10,000 lignes sur 9 colonnes la table stock dans un tableau séquentiel dynamique que l'on va updater sur les colonnes voulues et qu'à la fin on va écraser la totalité de la Table Stock avec ce tableau en RAM (éviter un loop sur les cellules pour que ca ne rame pas trop...)
Par sécurité on pourrait d'abord reproduire cette table en tant que nouvel Onglet "Stock 20200621"...

Enfin voilà mon idée...

Et du coup on ne s'occupe plus du tout dans cette partie VBA de l'onglet Source Externe qui reste "ta soupe interne" à mettre à jour dans l'onglet Dossier de travail avant de faire tourner l'Algo.

C'est bien ça ?
Bonne soirée
@+Thierry
 

moun123

XLDnaute Nouveau
Thierry,
si [Cion], [Date de départ], [Libellé D] et [Code D] sont déjà rempli dans Stock, on met à jour avec les nouvelles données.
Pour compte tu évoques de créer un nouvel onglet "Stock 20200621" ce qui sous entend qu'il y aura à chaque fois des nouveaux onglets… si j'ai bien compris. Moi il me faudrait qu'un seul onglet Stock.
J'espère que me demande est réaliste. :)

Merci à toi !

Cédric
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonsoir Cédric

Voici une ébauche, v00, mais je galère avec les dates pour le moment, en passant par un Tableau Array Dynamic, cette "saleté" comprend les date en format US, ca fait un moment que je galère ...

Je pose la question au Forum, comment faites-vous quand vous avez à traiter des Dates au format DD/MM/YYY dans des Tableaux Séquentiels (il les met en US m/d/yyyy)

Pour le reste oui ce n'est une maquette, pour le moment c'est pour analyser ce qu'il fait , je fais un nouvel onglet... On verra ce que ca donne sur une copie des vraies Data...

Bien à toi, à vous
@+Thierry

EDIT Bon c'est vrai que mon Office 2013 est en Version US mais mes paramètres régionaux sont FR
Si vous essayez le fichier vous avez quoi comme date le 12/06/2020 ou le 06/12/2020 ?
 

Pièces jointes

  • XLD_moun123_Gestion-1_v00.xlsm
    277 KB · Affichages: 5

_Thierry

XLDnaute Barbatruc
Repose en paix
Bon OK

J'ai trouvé, il faut convertir en Valeur Numérique et pas en Date (ou en Variant) pour alimenter le Tableau Séquentiel.
Voici une v01 !

Bonne soirée
@+Thierry
 

Pièces jointes

  • XLD_moun123_Gestion-1_v01.xlsm
    276.3 KB · Affichages: 3

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonsoir @moun123 , le Forum

Bon voilà une version plus aboutie v02, cette fois-ci "normalement" tu as comme prévu une feuille STOCK mise à jour, mais comme c'est quand même "flippant" de manipuler 10000 lignes x 9 colonnes en RAM, je garde en backup la feuille STOCK précédente renommée STOCK_OLD_2020-06-22-004233

Ce sera à toi d'assurer le ménage....

Je n'ai pas testé sur plus de 2000 rows, mais ca va c'est instantané pour le moment. Tu feras des essais avec des copies de tes fichiers réels et tu nous diras si ça tient le choc ...
Et (of course) tu vérifieras bien si tu ne perds pas de données ou des formattages intempestifs comme j'ai eu pour les Dates...

J'ai ajouté un "bonus" aussi si on a un (ou des) No Identication(s) dans Dossier de travail non existants dans STOCK...

Je pense que tu seras content.
Bien à toi, à vous
@+Thierry
 

Pièces jointes

  • XLD_moun123_Gestion-1_v02.xlsm
    170.6 KB · Affichages: 1

Discussions similaires