XL 2016 Trie afin de remplir automatiquement un Tableau

Phoenix23

XLDnaute Occasionnel
Bonjour à toutes et tous.
Dans le fichier ci-joint je souhaiterai réaliser un pour la feuille "Tableau", par Dates, Lieux, Noms.
Les explications sse trouvent dans la feuille Tableau du Fichier ci-joint.
Si toutefois quelqu'un pouvait me venir en aide.
D'avance Merci
Cordialement
 

Fichiers joints

Dudu2

XLDnaute Impliqué
Bonjour,
Tu peux essayer en B3
=SOMMEPROD(('2020'!$F$3:$F$28)*(MOIS('2020'!$C$3:$C$28)=LIGNE()-2)*('2020'!$D$3:$D$28=B$2))
Et étendre ça sur B3:K14 à condition de virer ces cellules fusionnées en 2020!C4 & 2020!D4 et reporter l'information sur chaque cellule. Sinon ça me paraît ingérable.
D.
Edit: Ou si tu veux vraiment ne pas avoir de répétition apparente sur les valeurs, mettre une MFC pour mettre en caractères blancs ou gris clair les cellules dont la précédente a la même valeur.
Genre:
2020-03-18_154419.jpg
Pour obtenir ça:
2020-03-18_154731.jpg
 

Fichiers joints

Dernière édition:

Dudu2

XLDnaute Impliqué
A titre d'essai, j'ai trouvé une autre solution qui respecte ton tableau initial en feuille 2020 qui contient des cellules fusionnées. Il faut alors utiliser une fonction qui va chercher la valeur de la MergeArea de cette fusion. Et donc transformer ton fichier .xlsx en .xlsm.

En B3 la formule devient:
=SOMMEPROD(('2020'!$F$3:$F$28)*(MOIS(GetRangeValue('2020'!$C$3:$C$28))=LIGNE()-2)*(GetRangeValue('2020'!$D$3:$D$28)=B$2))

Et il faut inclure cette fonction dans un module:
VB:
Function GetRangeValue(Rng As Range) As Variant
    Dim t() As Variant
    Dim i As Long
    Dim j As Long
   
    t = Rng.Value
   
    For i = 1 To UBound(t, 1)
        For j = 1 To UBound(t, 2)
            If Rng.Cells(i, j).MergeCells Then t(i, j) = Rng.Cells(i, j).MergeArea.Cells(1, 1).Value
        Next j
    Next i
           
    GetRangeValue = t
End Function
Fichier mis à jour avec la formule du post #4.
 

Fichiers joints

Dernière édition:

Dudu2

XLDnaute Impliqué
S'il faut rendre dynamique la hauteur du tableau en feuille 2020, il faut ajouter une manip.

A supposer que la colonne Lieux et Noms soit complète et ne comporte pas de trous (c.a.d qu'elle représente la hauteur réelle du tableau sans cases vides), en B3:

=SOMMEPROD((DECALER('2020'!$F$3;0;0;NBVAL('2020'!$E$3:$E$9999);1))*(MOIS(GetRangeValue(DECALER('2020'!$C$3;0;0;NBVAL('2020'!$E$3:$E$9999);1)))=LIGNE()-2)*(GetRangeValue(DECALER('2020'!$D$3;0;0;NBVAL('2020'!$E$3:$E$9999);1))=B$2))
 
Dernière édition:

Phoenix23

XLDnaute Occasionnel
Bonjour,
Tu peux essayer en B3
=SOMMEPROD(('2020'!$F$3:$F$28)*(MOIS('2020'!$C$3:$C$28)=LIGNE()-2)*('2020'!$D$3:$D$28=B$2))
Et étendre ça sur B3:K14 à condition de virer ces cellules fusionnées en 2020!C4 & 2020!D4 et reporter l'information sur chaque cellule. Sinon ça me paraît ingérable.
D.
Edit: Ou si tu veux vraiment ne pas avoir de répétition apparente sur les valeurs, mettre une MFC pour mettre en caractères blancs ou gris clair les cellules dont la précédente a la même valeur.
Genre:
Voir la pièce jointe 1058853
Pour obtenir ça:
Voir la pièce jointe 1058855
Bonsoir Dudu2
Tout d'abord je tiens à vous remerciez de votre aide.
Bonjour,
Tu peux essayer en B3
=SOMMEPROD(('2020'!$F$3:$F$28)*(MOIS('2020'!$C$3:$C$28)=LIGNE()-2)*('2020'!$D$3:$D$28=B$2))
Et étendre ça sur B3:K14 à condition de virer ces cellules fusionnées en 2020!C4 & 2020!D4 et reporter l'information sur chaque cellule. Sinon ça me paraît ingérable.
D.
Edit: Ou si tu veux vraiment ne pas avoir de répétition apparente sur les valeurs, mettre une MFC pour mettre en caractères blancs ou gris clair les cellules dont la précédente a la même valeur.
Genre:
Voir la pièce jointe 1058853
Pour obtenir ça:
Voir la pièce jointe 1058855
Bonsoir Dudu2
Tout d'abord merci pour votre aide.
J'ai opté pour cette solution.
Dans le fichier joint après avoir étendu votre formule en B3:K14, la formule ne gère que le nombre d'affiches posées, mais pas les "Lieux" et à "Qui"
Ai-je fais une mauvaise manip?
 

Fichiers joints

Dudu2

XLDnaute Impliqué
Bonsoir Dudu2
Tout d'abord merci pour votre aide.
J'ai opté pour cette solution.
Dans le fichier joint après avoir étendu votre formule en B3:K14, la formule ne gère que le nombre d'affiches posées, mais pas les "Lieux" et à "Qui"
Ai-je fais une mauvaise manip?
Non tu n'as pas fait de mauvaise manip. Je n'ai pas prêtè attention aux autres compteurs qui manifestement vont requérir un formule spécifique et nécessiter le split des lieux et des noms.
Je regarde ça...
 

Dudu2

XLDnaute Impliqué
2 options:
- option 1: Formules avec adressage des plages directement par leurs numéros de cellules
- option 2: Formules avec adressage des plages utilisant les références propres aux tableaux structurés.
- Je n'ai pas remis l'autre option utilisant les DECALER pour simplifier.

Pour l'option 2 qui est la meilleure méthode devenue possible puisque tu as renoncé aux cellules fusionnées, j'ai transformé le tableau de la feuille 2020 en tableau structuré (Onglet Accueil / Mise sous forme de tableau / choisir l'une des propositions de tableaux)
Dans le Gestionnaire de nom, un nom dédié à ce tableau est créé par Excel. Il est modifiable.
On peut alors faire référence aux titres (quand il y en a), données, totaux (quand il y en a) avec une syntaxe qui libère des références de plages telles que dans l'option 1. C'est très pratique et flexible.

J'ai dû modifier les titres du tableau de la feuille Tableau car non cohérents avec la feuille 2020 (exemple: Jean-Jacques vs Jean Jacques ou Commune vs Population).
Je te recommande soit de passer par des listes de validation, soit de référencer les valeurs d'un tableau à partir de celles de l'autre pour ne pas avoir de différences.
 

Fichiers joints

Dernière édition:

Phoenix23

XLDnaute Occasionnel
2 options:
- option 1: Formules avec adressage des plages directement par leurs numéros de cellules
- option 2: Formules avec adressage des plages utilisant les références propres aux tableaux structurés.
- Je n'ai pas remis l'autre option utilisant les DECALER pour simplifier.

Pour l'option 2 qui est la meilleure méthode devenue possible puisque tu as renoncé aux cellules fusionnées, j'ai transformé le tableau de la feuille 2020 en tableau structuré (Onglet Accueil / Mise sous forme de tableau / choisir l'une des propositions de tableaux)
Dans le Gestionnaire de nom, un nom dédié à ce tableau est créé par Excel. Il est modifiable.
On peut alors faire référence aux titres (quand il y en a), données, totaux (quand il y en a) avec une syntaxe qui libère des références de plages telles que dans l'option 1. C'est très pratique et flexible.

J'ai dû modifier les titres du tableau de la feuille Tableau car non cohérents avec la feuille 2020 (exemple: Jean-Jacques vs Jean Jacques ou Commune vs Population).
Je te recommande soit de passer par des listes de validation, soit de référencer les valeurs d'un tableau à partir de celles de l'autre pour ne pas avoir de différences.
Bonjour Dudu2
Merci encore de votre AIDE
Je m'excuse pour le retard de ma réponse mais je ne suis pas confiné...Et travail......
Je viens d'ouvrir vos 2 Fichiers.
Mais les compteurs "Lieux" et "Noms" dans la feuille tableau ne correspondent pas aux données de la feuille 2020 ou comme dans le tableau "Exemple Rendu recherché".
Est ce une erreur ou mauvaise manip de ma part?
Très Cordialement.
 

Dudu2

XLDnaute Impliqué
Bonjour,
Je n'ai pas compris pourquoi pour les Motifs tu comptes le nombre d'affiches posées et pour les Lieux et les Noms le nombre de fois où il y a des affiches posées. Donc j'ai tout mis en nombre d'affiches posées.
Mais c'est très simple de modifier les formules pour les Lieux et les Noms pour obtenir le résultat que tu souhaites.
 

Fichiers joints

Phoenix23

XLDnaute Occasionnel
Bonjour,
Je n'ai pas compris pourquoi pour les Motifs tu comptes le nombre d'affiches posées et pour les Lieux et les Noms le nombre de fois où il y a des affiches posées. Donc j'ai tout mis en nombre d'affiches posées.
Mais c'est très simple de modifier les formules pour les Lieux et les Noms pour obtenir le résultat que tu souhaites.
Merci une nouvelle fois
Pour peut être éclairer votre lanterne si j'arrive à être suffisamment explicite...
En fait, les documents ne seront pas forcément remis aux même personnes dans un même lieux donné.
Votre solution me convient parfaitement.
Merci encore
Et en cette période compliquée, je souhaite que vous viviez ce confinement sans complication.
Prenez soin de vous.
Cordialement
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas