Microsoft 365 Tableau et doublons

Marvin57

XLDnaute Occasionnel
Bonjour à tout le monde,

Le fichier ci-joint comporte deux onglets.

"BASE STOCK" et "FILTRE STOCK"

le tableau de l'onglet "BASE STOCK" se remplira au fur et à mesure ou alors pourra diminuer.

Le tableau de l'onglet "FILTRE STOCK" me sert à filtrer les lieux afin de voir la valeur du lieu.

Ce que je souhaiterai que le tableau de l'onglet "FILTRE STOCK" fasse, c'est que, si dans le tableau de l'onglet "BASE STOCK" un nouveau lieu se rajoute ou si un lieu soit supprimer
alors il devrait me mettre à jour le tableau de l'onglet "FILTRE STOCK".
Le tableau de l'onglet "FILTRE STOCK" ne doit en aucun cas afficher des doublons de lieu.

En espérant que je me suis bien exprimé dans ma demande. Mais je suis disponible et je vous répondrai rapidement.

Merci à vous pour votre aide.

Marvin57
 

Pièces jointes

  • Classeur1.xlsm
    12.8 KB · Affichages: 6

vgendron

XLDnaute Barbatruc
Bonjour

comme tu es sous 365, je pense que tu peux utiliser la fonction "Unique"
en renommant les deux tables ca donnerait ceci
(PS: pas testé, puisque chez moi, la fonction Unique n'existe pas et ca me retourne "#Nom?"
 

Pièces jointes

  • Classeur1 (2).xlsm
    12.9 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous les trois :)
Ma petite contribution en VBA. La macro est automatique lorsqu'on sélectionne la feuille FILTRE STOCK.
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    [Tableau2].ListObject.DataBodyRange.Delete
    Sheets("BASE STOCK").[Tableau1].Copy
    Sheets("FILTRE STOCK").[A2].Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    [Tableau2].Select
    Selection.RemoveDuplicates Columns:=2, Header:=xlYes
    Set Plage = Range("D2:D" & Range("B65500").End(xlUp).Row - 1)
    Plage.FormulaLocal = "=SOMME.SI(Tableau1[Lieu];Tableau2[[#Cette ligne];[Lieu]];Tableau1[Prix])"
    [A1].Select
End Sub
 

Pièces jointes

  • Classeur1 (1).xlsm
    18.7 KB · Affichages: 1

Marvin57

XLDnaute Occasionnel
Bonjour à tous les trois :)
Ma petite contribution en VBA. La macro est automatique lorsqu'on sélectionne la feuille FILTRE STOCK.
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    [Tableau2].ListObject.DataBodyRange.Delete
    Sheets("BASE STOCK").[Tableau1].Copy
    Sheets("FILTRE STOCK").[A2].Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    [Tableau2].Select
    Selection.RemoveDuplicates Columns:=2, Header:=xlYes
    Set Plage = Range("D2:D" & Range("B65500").End(xlUp).Row - 1)
    Plage.FormulaLocal = "=SOMME.SI(Tableau1[Lieu];Tableau2[[#Cette ligne];[Lieu]];Tableau1[Prix])"
    [A1].Select
End Sub
Bonjour à tous les trois aussi ,
@Phil69970, @sylvanu et @vgendron

Merci de m'avoir répondu.
Malheureusement je viens de voir à l'instant que j'ai fais une faute dans mon fichier joint et mon explication !!!!

Je m'en excuse auprès de vous . Vraiment désolé.🤨

Alors pour vous montrer la faute:

Le tableau de l'onglet "FILTRE STOCK" ne comporte en réel que deux colonnes.

La colonne Lieu
La colonne Prix

Pourriez-vous m'adapter cela S'il vous plaît. Et encore une fois Milles excuses.🙏

Merci

Marvin57
 

Phil69970

XLDnaute Barbatruc
Re

Toutes les formules de mon fichier fonctionnent quelque soit la version d'excel utilisé.
Quand les valeurs changent dans la feuille 1 ==> la feuille 2 se met à jour

En clair c'est exactement comme les formules du post # 2 de Vincent mais les formules du post #2 fonctionnent uniquement avec 365 alors que les miennes fonctionnent dans toutes les versions d'excel.

La validation matricielle est à faire si tu vas dans une formule et la modifie

@Phil69970
 

Discussions similaires

Réponses
2
Affichages
409
Réponses
13
Affichages
553

Statistiques des forums

Discussions
315 087
Messages
2 116 084
Membres
112 655
dernier inscrit
fannycordi