Fichier de données avec dates à réorganiser

Bonjour,

Je me permets de vous demander votre aide car j'ai un fichier de données à réorganiser de façon verticale alors qu'il est initialement rangé de façon horizontal.

Je m'explique, le fichier actuel est organisé comme suit :en colonne A la référence, en colonne B la ville, en colonne C la date de début et en colonne D la date de fin. Mon fichier initial fait plus de 7000 lignes

Le problème étant que je n'ai pas toujours le même nombre de date en fonction de la ville, il peut y avoir 4 dates dans 92 et 2 dates dans 69 et 0 dates dans les autres par exemple.

Mon fichier de résultat doit se présenter comme suit :

référence date de début date de fin Paris date de début date de fin Lyon date de début date de fin Aix en Provence date de début date de fin Toulouse date de début date de fin Bordeaux date de début date de fin Nantes date de début date de fin Rennes date de début date de fin Lille date de début date de fin Strasbourg

Je vous joints un fichier en feuil 1 fichier souhaité en feuil 2 fichier actuel.

Je n'arrive pas à trouver la formule qui puisse me faire cela rapidement, j'ai essayé OFFSET mais je n'y arrive pas pouvez-vous m'aider svp ?

Par avance merci,

22exemple.xlsx (46.71 Ko)

Bonjour,

Au final n'as-tu pas simplement besoin de connaître la date de début et de fin par ville, dans ton exemple?

A te relire.

Cdlt

Bonjour. Bienvenue sur le Forum

En attendant la solution VBA, une solution avec 2 formules matricielles (Validation avec les 3 touches Ctrl+Maj+Entrée) qui se copient et se collent par bloc de 2

Cordialement

23exemple.xlsx (27.83 Ko)

Bonjour Jean Eric,

Merci d'avoir pris le temps de me lire,

En fait c'est exactement cela sauf que mon fichier est construit de façon horizontal et que je souhaiterais le construire de façon vertical avec un rangement en colonne par ville, date de début et date de fin...

Je ne sais pas trop comment faire...

Merci


Bonjour Amadeus,

Je vais tester ta solution merci beaucoup ! Je te tiens au courant

Re,

Voir exemple.

A te relire certainement

Cdlt

15exemple.xlsx (29.02 Ko)

Bonsoir Jean Eric,

Merci pour ta réponse, mais cela ne doit pas prendre la forme d'un TCD


Bonjour Amadeus,

Merci d'avoir pris le temps de me répondre.

J'ai modifié ta formule en rajoutant une référence A2 à mon tableau et en supprimant les données A1 se référant à Toulouse, et cela ne fonctionne plus

Les formules modifiés renvoient des #NUM!

Je n'y comprends plus rien, ta formule marchait pourtant parfaitement

Peux-tu m'aider stp ?

Je te joints le tableau modifié

10exemple-2.xlsx (67.85 Ko)

Re,

Même sous cette forme

Avec VBA, on peut créer le tcd et ne conserver que le tableau final en valeurs (copier/coller valeurs)...

A méditer.

Cdlt

12exemple-1.xlsx (30.19 Ko)

Bonsoir,

En fait avec ton TCD, je n'arrive pas à organiser les données selon le modèle ; référence; date de début; date de fin, ville et ainsi de suite...

mais peut être n'ai-je pas compris le fonctionnement

Bonjour

Tu as changé le fichier par rapport au précédent:

  • Tu as rajouté une ligne ce qui fait que les champs précédents qui s'arrêtaient ligne 77 ne sont plus adaptés
  • Tu as ajouté une nouvelle référence

Pour ce nouveau fichier:

Création de champs dynamiques (tu peux ajouter autant de ligne qu'il te plait sans changer les formules)

Pour cela, la formule

=DECALER('fichier actuel'!$A$2;;;NBVAL('fichier actuel'!$A:$A)-1)

est nommée Ref

La Formule

=DECALER('fichier actuel'!$B$2;;;NBVAL(Ref))

est nommée Ville

La Formule

=DECALER('fichier actuel'!$C$2;;;NBVAL(Ref))

est nommée Début

et la Formule

=DECALER('fichier actuel'!$D$2;;;NBVAL(Ref))

est nommée Fin

Ces noms sont ensuite utilisés dans les formules

Formule en B2 (Feuille "Fichier souhaité") Matricielle à valider avec les 3 touches Ctrl+Maj+Entrée)

=SI(LIGNE()-1>NB.SI(Ville;D$1);"";PETITE.VALEUR(SI((Ref=$A2)*(Ville=D$1)*(Début<>"");Début);NB.SI($A$2:$A2;$A2)))

Formule en C2 (également matricielle)

=SI(B2="";"";INDEX(Fin;EQUIV(1;(Ref=$A2)*(Ville=D$1)*(Début=B2);0)))

Comme précédemment ces 2 formules se recopient et se collent vers la droite par bloc de 2

Cordialement

27exemple-2.xlsx (32.06 Ko)

Bonjour Amadeus,

Encore une fois merci de te pencher sur mon épineux problème

J'ai testé ton fichier et cela fonctionne mais lorsque je rajoute des données dans fichier actuel, et que j'applique les 2 formules cela me renvoie des #NUM! pour les nouvelles valeurs cherchées. De plus, elles ne sont pas au bon endroit.

Je m'explique, le fichier que je dois réorganiser fait plus de 7000 lignes dans sa configuration actuelle, selon les références, il y a des dates sur les 9 villes, sur une seule ville, sur 2 ou sur 3... Il n'y a aucune cohérence, c'est bien là mon problème

Le fichier souhaité devra faire beaucoup moins de ligne.

Par exemple, j'ai besoin que pour une référence A9 pour laquelle il y a des dates sur Paris et Strasbourg par exemple les deux premières dates des 2 villes soit sur la premières ligne. Ensuite s'il y a d'autres dates à Paris et plus à Strasbourg, les lignes du dessous pour Paris sont renseignées, tandis que celles de Strasbourg sont vides.

Je ne sais pas si je suis claire

Ce fichier commence à me rendre dingue et je ne me vois pas tout ranger à la main...

Merci encore pour ton aide

12exemple-3-v2.xlsx (82.61 Ko)

Bonsoir

Je n'ai aucun mérite je me suis servi du fichier afin de comprendre la formule (pas tout compris) mais j'ai trouvé un moyen d'obtenir ce que tu désires

Comme tu as XL 2010

Remplaces la formule en B2 (que tu copieras en E2,H2 etc..) et à tirer vers le bas jusqu'à la ligne 95

=SIERREUR(PETITE.VALEUR(SI((Ref=$A2)*(Ville=D$1)*(Début<>"");Début);NB.SI($A$2:$A2;$A2));"")

Validation matricielle

Bonjour,

J'ai trouvé la solution !

Merci Amadeus, ton fichier m'a beaucoup aidé

Rechercher des sujets similaires à "fichier donnees dates reorganiser"