Création d'un tableau en fonction de données sous forme de liste

Bonjour

Je suis « coincé » sur un problème Excel.

J’ai un classeur composé de 2 onglets :

- Onglet 1 : Réservations

o Colonne A : Numéro d’appartement

o Colonne B : Date

o Colonne C : Statut

- Onglet 2 : Tableau

o Colonne A : Numéro d’appartement

o Colonne B : Date 1

o Colonne C : Date 2

o Colonne D : Date 3

o …….

L’idée, c’est d’incrémenter l’onglet numéro 2 en fonction des données de l’onglet numéro 1 (Comme dans l'exemple en fichier joint)

En utilisant la fonction rechercheV j’y arrive parfaitement. Mon souci, c’est la quantité de données à traiter. Cela représente plus de 400.000 cellules avec une formule, et donc mon ordinateur est incapable de gérer cela...

Je me dis qu’une requête VBA pourrai peut-être faire beaucoup mieux, mais là je ne vois pas comment réaliser cela.

Pour information, je ne dispose malheureusement pas d’Access qui je sais, ferrait cela très très simplement ….

Alors, si l'un d'entre vous aurait une idée, je suis preneur.

Edit : L'utilisation de https://www.excel-pratique.com/fr/vba/tableaux_vba.php pourrait-il servir de base ?

Merci

Cemente

bonjour

OpenOffice est gratuit et contient Base (similaire à Access)

Mieux encore : Power BI (version Desktop est gratuite) sait gérer les liaisons entre tables, et peut digérer des millions de lignes en qq secondes

amitiés

Bonjour,

vu ton exemple on a l'air d'avoir exactement le même tableau mais en colonne au lieu de en ligne

Un simple tableau croisé dynamique à partir des infos de réservations te donneras la même chose.

Bonjour et bienvenue sur le forum

Bonjour à tous

Un essai à tester. Te convient-il ?

Bye !

Merci à vous tous

Concernant le Tableau Croisé Dynamique, c'est la première solution que j'avais imaginée tellement elle me paraissait évidente au premier abord. Je l'avais abandonnée pour les raisons suivantes :

  • Mon fichier de base comporte plus de 200.000 enregistrements.
  • Je n'ai pas forcément toutes les dates.
  • Mais surtout, vu la quantité de dates, le TCD n'affichait simplement mes données avec les années, des trimestres, et des mois. Je n'avais pas les jours, données indispensable pour la suite de mon travail

Comme je suis quelqu'un d'un peu têtu, je viens de passé 2 heures à recreuser cette solution suite à la remarque de Xmenpl, en bidouillant à gauche et à droite, j'ai réussi une solution satisfaisante avec un TCD .

Dans mon fichier liste :

  • Ajout d'un appartement virtuel, loué à toutes les dates de la période qui intéresse -> J'aurai ainsi toutes les dates dans mon tableau final.
  • Ajout d'une nouvelle colonne avec un code (La date en chiffres ex 43647 pour le 01/07/2019)
  • --> Ainsi, j'ai un TCD, avec mes numéros d'appartement sur les lignes et mes codes date croissant en colonne.

GMB, concernant le code que tu m'as fournis, c'est génial. (Bon je ne connais que peu les codes VBA que tu as employé, mais c'est comme cela qu'on apprends non ?)

Cependant, je pense que je vais rester, pour le moment, sur ma solution de TCD, en attendant de "m'approprier" ces lignes de code et de bien comprendre comment cela fonctionne et comment je peux le mettre à ma sauce et tester laquelle est la plus pratique et rapide. (Et simple pour mon boss )

Je vous remercie, mon problème est pour le moment résolu.

Cemente

un peu tard mais une solution rudimentaire sans TCD

il est facile de remplacer les 1 par un mot ou une MFC

Rechercher des sujets similaires à "creation tableau fonction donnees forme liste"