Excel (2019Fr) : Pb de tri (sans VBA)

Bonjour,

Je suis a la recherche d'aide pour réaliser le projet suivant :

J'ai un classeur Excel qui comporte une Feuil1 qui se compose comme suit : colonne B dont la première cellule (B1) contient Numero_Ordinal ; colonne C dont la première cellule (C1) contient Nom ; colonne D dont la première cellule (D1) contient Prenom ; colonne E dont la première cellule (E1) contient B2 ; colonne F dont la première cellule (F1) contient Diplome ; colonne G dont la première cellule (G1) contient Employeur ; colonne H dont la première cellule (H1) contient RCP ; colonne I dont la première cellule (I1) contient Validation ; colonne J dont la première cellule (J1) contient Remarque ; colonne K dont la première cellule (K1) contient Instructeur ; colonne L dont la première cellule (L1) contient Date puis chaque ligne qui suit contient un enregistrement de données. Je souhaiterais, sans utiliser du VBA, obtenir dans la feuil2, le même tableau (même organisation des colonnes) que la feuil1 mais que les lignes ayant le même numero_Ordinal (données de la colonne B) soient regroupées (par ordre croissant) puis que, dans ce regroupement, les différentes lignes soient classées par date croissante en fonction de la date contenue dans la colonne L. Il faudrait que chaque regroupement de données (basée sur le numéro contenue en colonne B) soit alternativement coloriez en "Blanc, Arrière plan 1, plus sombre 15%" et "Blanc, Arrière plan 1, plus sombre 25%" et que le tableau comporte des bordures interne en gras et les bordures internes en traits plus fin. je voudrais que ce classeur fonctionne même si ultérieurement, j'y ajoute des données.

J'ai tente la chose suivante :

Dans Feuil1, j'ai cliquez sur Insertion > Tableau puis sur l'option "Mon tableau comporte des en-têtes".

Dans Feuil2, dans la cellule dans B1, j'ai insere : =Feuil1!B1 et j'ai étendu jusqu'à la colonne L (en copiant uniquement les en-têtes).

J'ai ajoutez une colonne supplémentaire temporaire dans Feuil1 (en colonne M) pour associer des valeurs de tri combinées. En M2 :

=TEXTE(B2;"000000")&TEXTE(L2;"AAAAMMJJ")

Pour crée une clé unique combinant Numero_Ordinal et Date.

Dans Feuil2. J'ai cree une nouvelle colonne en A pour classer les lignes triées.

Et j'ai saisi en A2 :

=INDEX(Feuil1!B$2:B$1000;EQUIV(PETITE.VALEUR(Feuil1!M$2:M$1000;LIGNE()-1);Feuil1!M$2:M$1000;0))

J'ai étendu la formule pour toutes les colonnes (de B2 à L2 dans Feuil2).

J'ai ajoutez une colonne auxiliaire (en M2 de Feuil2) pour détecter les changements dans les Numero_Ordinal et j'ai saisi en M2 :

=SI(B2=B1;M1;M1+1)

J'ai sélectionnez tout le tableau dans Feuil2.

dans Accueil > Mise en forme conditionnelle > Nouvelle règle.

=EST.PAIR($M2)

J'ai choisi Utiliser une formule pour déterminer les cellules à formater.

J'ai répétez l’opération pour les valeurs impaires avec :

=EST.PAIR($M2)

avec la couleur Blanc, Arrière-plan 1, plus sombre 15%.

avec la couleur Blanc, Arrière-plan 1, plus sombre 25%.

Mon problème est le suivant :

Je vois s'afficher dans les cellules allant de B2 à L2 s'afficher #NOMBRE!

Quelqu'un pourrait il me conseiller ? svp merci

(peut on joindre un fichier Excel à un post sur ce forum svp merci (si oui comment ? svp merci)

Bonne journée

Raphaël3922

Bonjour,
Pour tenter quelque chose il est nécessaire d'avoir un fichier de données. Je ne pense pas que les contributeurs veuillent s'amuser à recréer le tableau avec des données même si cela semble bien expliqué.
Cordialement

Bonjour,

Comme le dit fcyspm30, un exemple dans une feuille est mieux qu'un long discours.

Mais en lisant en diagonale votre demande, le TCD ne répond pas à vos attentes ?

Bonjour,

Merci de vous intéresser à ma problématique.

Désole pour ce retard de transmission du fichier exemple.

Je reste à votre disposition.

Amitié

Raphael3922

Bonjour,

Les deux tableaux doivent ils rester dynamique ? Si oui j'ai peur qu'il faille passer par VBA. Si non il est possible de copier le tableau et de coller les valeurs. Ensuite le tris personnalisé sera parfait. Voici un essai.

Peut-être, même sûrement il y aura une solution avec une formule matricielle.

Re

Avec PowerQuery c'est très facile aussi

Bonjour,

Merci à fcyspm30 pour ses deux réponses.

Pour le fichier de mardi 07:47, pourrais tu m'expliquer, d'une part, comment avoir accès aux formules permettant d'obtenir le second tableau (Feuil2) et, d'autre part, comment faire pour que celui-ci s'actualise si on ajoute des données dans le tableau (Feuil1) ou faut il que je récré le classeur en entier a chaque fois ? svp merci

Pour le fichier de mardi 09:43, pourrais tu m'expliquer, comment fonctionne Powerquery et, d'autre part, l'avantage d'utiliser le fichier de 07:47 ou celui de 09:43 ? SVP Merci

Amitié et bon week end

Raphael3922

bonjour Raphaek3922,fcyspm30,

un essai avec des formules et le nombre de lignes du tableau2>=tableau1

bonjour

une contribution par matricielle sur feuille Tulipe

cordialement

9raphael3922.xlsx (36.87 Ko)

Bonjour,

Merci à BsAlv et à tulipe_4 pour ces réponse.

Mais, BsAlv et tulipe_4 pourriez vous expliciter les formules qui sont dans votre réponse, je ne les comprends pas. svp merci

Raphael3922

feuil1, tableau structuré "Tableau1" colonne M = créer un clé unique = colonne B * 100.000 + date (valeur environ 45.500 + n° ligne/1000

Feuil2, tableau "Tabel2", colonne B = formule

=SI(LIGNE()-LIGNE(Tabel2[[#En-têtes];[Ligne]])<=LIGNES(Tableau1);
EQUIV(PETITE.VALEUR(Tableau1[Colonne1];LIGNE()-LIGNE(Tabel2[[#En-têtes];[Ligne]]));Tableau1[Colonne1];0);
"-")

SI(LIGNE()-LIGNE(Tabel2[[#En-têtes];[Ligne]])<=LIGNES(Tableau1); = si le numéro dela ligne dans ce tableau "tabel2" est inférieur ou égale aux nombre de lignes du tableau "tableau1"

EQUIV(PETITE.VALEUR(Tableau1[Colonne1];LIGNE()-LIGNE(Tabel2[[#En-têtes];[Ligne]]));Tableau1[Colonne1];0);

= en rouge on cherche la "x"-eme petite valeur (souligné et gras) de la colonne "Colonne1" du tableau "tableau1"

puis avec ce EQUIV(...,;Tableau1[Colonne1];0); on atteint le numéro de la ligne où ce x-eme valeur se trouve dans le tableau "tableau1".

Donc on calcule cela une fois et on utilisera ce résultat pour toutes les colonnes C:M.

=SI(ESTNUM($B4);INDEX(Tableau1;$B4;COLONNE()-COLONNE($B4));"-")

si le résultat dans la colonne B est numérique, on prend la valeur du tableau "tableau1", ligne = $B4 et colonne = n° de cette colonne - n° de la colonne B

Bonjour,

Merci à BsAlv la réponse avec l'explication des "formules"

Dans le fichier proposé par BsAlv est il possible, dans la Feuil2 que les lignes concernant une même personne soit d'une couleur et que les lignes de la personne suivantes soient d'une autre couleur, par exemple du bleu clair puis du blanc est ainsi de suite (afin de bien visualiser les différentes personnes) svp merci

Raphael3922

re,

il y a déjà une MFC pour les "chiffres paires" de la colonne C (numéro original) pour ce tableau. Maintenant c'est vert clair, mais vous pouvez modifier ce couleur. (voir ici dessous pour une capture d'écran, mais la formule est en néerlandais)

image
Rechercher des sujets similaires à "2019fr tri vba"