Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Trie afin de remplir automatiquement un Tableau

  • Initiateur de la discussion Initiateur de la discussion Phoenix23
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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:

Pour obtenir ça:
 

Pièces jointes

  • 2020-03-18_154419.jpg
    49.1 KB · Affichages: 8
Dernière édition:
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

Dernière édition:
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:
 

Pièces jointes


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

Dernière édition:

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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
326
  • Question Question
Microsoft 365 Souci de copie
Réponses
8
Affichages
262
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…