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
 

Pièces jointes

  • Poste.xlsx
    40.2 KB · Affichages: 11

Dudu2

XLDnaute Barbatruc
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
 

Pièces jointes

  • 2020-03-18_154419.jpg
    2020-03-18_154419.jpg
    49.1 KB · Affichages: 4
Dernière édition:

Dudu2

XLDnaute Barbatruc
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.
 

Pièces jointes

  • Copie de Poste-1.xlsm
    47.1 KB · Affichages: 3
Dernière édition:

Dudu2

XLDnaute Barbatruc
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:
Regarde la pièce jointe 1058853
Pour obtenir ça:
Regarde 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:
Regarde la pièce jointe 1058853
Pour obtenir ça:
Regarde 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?
 

Pièces jointes

  • Copie de Poste-1 - Copie.xlsm
    46.4 KB · Affichages: 1

Dudu2

XLDnaute Barbatruc
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 Barbatruc
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.
 

Pièces jointes

  • Poste Option 2.xlsx
    42.3 KB · Affichages: 6
  • Poste Option 1.xlsx
    41 KB · Affichages: 7
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 Barbatruc
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.
 

Pièces jointes

  • Poste Option 2.xlsx
    42.4 KB · Affichages: 7

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
 

Statistiques des forums

Discussions
311 713
Messages
2 081 806
Membres
101 819
dernier inscrit
lukumubarth