XL 2013 EXCEL : Ventiler des données dynamiquement

ROMAIN1804

XLDnaute Nouveau
Bonjour,

Je travaille sur un document Excel qui devra s'incrémenter dans un logiciel afin d'intégrer des réservations.
Celui ci vient d'un fichier d'export d'un autre logiciel et afin de l'importer dans le 2eme logiciel sur lequel je travaille, le format doit être bon et correspondre afin que tout s'importe correctement.

J'aimerai sur l'Excel sur lequel je travaille les choses suivantes :
- Pour chaque même n° de dossier, que chaque occupant soit ventilé en colonne (noms et prénoms).
- A chaque changement de n° de dossier (nouvelle réservation), que cette ventilation se fasse automatiquement sur une nouvelle ligne.

je vous joins le doc excel pour exemple et pour mieux comprendre ma requête.

Merci d'avance pour votre aide :)
Bonne journée !
 

Pièces jointes

  • TEST_VENTILATION.xlsx
    23 KB · Affichages: 16

JHA

XLDnaute Barbatruc
Bonjour à tous,

A tester, formule matricielle.
VB:
=SI(NB.SI($K$2:$K2;$K2)=1;SIERREUR(SI(MOD(COLONNE();2)=0;INDEX($M$2:$M$13;PETITE.VALEUR(SI($K$2:$K$13=$K2;LIGNE($K$2:$K$13)-1);COLONNES($A:B)/2));INDEX($L$2:$L$13;PETITE.VALEUR(SI($K$2:$K$13=$K2;LIGNE($K$2:$K$13)-1);COLONNES($A:A)/2)));"");"")

JHA
 

Pièces jointes

  • TEST_VENTILATION.xlsx
    28.1 KB · Affichages: 9

ROMAIN1804

XLDnaute Nouveau
Bonjour à tous,

A tester, formule matricielle.
VB:
=SI(NB.SI($K$2:$K2;$K2)=1;SIERREUR(SI(MOD(COLONNE();2)=0;INDEX($M$2:$M$13;PETITE.VALEUR(SI($K$2:$K$13=$K2;LIGNE($K$2:$K$13)-1);COLONNES($A:B)/2));INDEX($L$2:$L$13;PETITE.VALEUR(SI($K$2:$K$13=$K2;LIGNE($K$2:$K$13)-1);COLONNES($A:A)/2)));"");"")

JHA

Bonjour,

Merci encore pour votre formule.
Cependant quand je l'applique sur mon fichier sur lequel je travaille je n'arrive pas à l'étirer sur les lignes suivantes. Cela ne fonctionne pas.
Plutôt que de copier "bêtement" j'ai donc voulu la retranscrire dans mon fichier, mais je vois en plus que dans la formule il ya en référence les colonnes A:B, mais j'avoue ne pas comprendre pourquoi par rapport au fichier envoyé ?

Si jamais vous pouvez m'eclairer là dessus ce serait parfait :)
Bonne journée,
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Cette formule n'est pas facile, je te suggère d'utiliser l'évaluation de la formule pour mieux la comprendre.
exemple tu cliques en N2 puis dans le ruban onglet Formules/Evaluer la formule puis tu cliques sur le bouton Evaluer pour voir pas à pas ce que fait la formule.
Refait la même manipulation en O2

COLONNES($A:A) signifie 1
COLONNES($A:B) signifie 2
Du fait que l'on doit mettre le prénom sur une colonne et le nom sur la colonne suivante, il y a 2 formules dans la même formule et je divise donc par 2.

Pour situer soit le nom ou le prénom, on utilise la fonction MOD(COLONNE();2)=0

Il se peut que sur ton fichier de travail les données ne sont pas placées au même endroit.
Pour cette formule, NB.SI($K$2:$K2;$K2)=1
fais bien attention aux signes "$"

JHA
 

ROMAIN1804

XLDnaute Nouveau
Bonjour,

Je vous remercie pour vos précisions. Cependant, en ayant essayer maintes et maintes fois je n'arrive toujours pas à étirer la formule en ligne et en colonne. Mes données ne vont pas seulement jusqu'à la ligne 13 mais jusqu'à la ligne 1010. J'ai pourtant bien fais attention aux dollars, et les données sont placées au même endroit sur mon fichier de travail.

Bien cordialement,
 

Pièces jointes

  • TEST VENTIL 2.xlsx
    74.1 KB · Affichages: 2

JHA

XLDnaute Barbatruc
Bonjour à tous,

Il n'y a pas d'erreur dans les formules mais en colonne "K", tu as plein de NA. je te suggère de rajouter une fonction sierreur() pour éviter cela.
Pour le moment j'ai supprimé les NA de la colonne "K"
VB:
=SIERREUR(RECHERCHEV(J2;'Z:\A échanger\Stagiaire CDG\RESALYS\[TEST FICHIER IMPORT CCAS - macro.xlsx]Fichier import resalys'!$A:$F;6;FAUX);"")

JHA
 

Pièces jointes

  • TEST VENTIL 2.xlsx
    448.1 KB · Affichages: 5

Membres actuellement en ligne

Statistiques des forums

Discussions
290 833
Messages
1 910 790
Membres
176 869
dernier inscrit
veusavoir
Haut Bas