Recherche d'une valeur non commun

Bonjour à tous,

Je cherche un créer un code pour rechercher des outils non commun dans ma base.

Dans ma Feuil1,je choisis mon numéros de programme avec une rechercheH . Dans la colonne C se sont les doublons.

Exemple : je choisis le programme 10 ,l'outil 1014 et en doublon 4 fois ,ce que je voudrais c'est de savoir si mon outil est non commun avec un autre article .

Pour trouver si mon outil est non commun , je passe par un filtre "Liste_1".

Quelqu'un pourrait m'aider pour réaliser un code.

Merci d'avance.

Bonjour à tous,

Tu fais des requetes PQ avec excel 2007 ??

C'est quoi, ta version ????

Bonjour le fil, bonjour le forum,

En pièce jointe ton fichier modifié avec l'événementielle Change ci-dessous :

Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim OL As Worksheet 'déclare la variable OL (Onglet Liste)
Dim TS As ListObject 'déclare la variable TS (Tableau Structuré)
Dim I As Integer 'déclare la variable I (Incrément)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)

Set OL = Worksheets("LISTE") 'définit l'onglet OL
Set TS = OL.ListObjects("Tableau3") 'définit le tableau structuré TS
If Target.Address <> "$B$4" Then Exit Sub 'si le changement a lieu ailleurs qu'en B4 (la cible), sort de la procédure
Me.Range("B3").ClearContents 'efface B3
Me.Range("B5:C" & Application.Rows.Count).ClearContents 'efface la plage B5:C...
If Target.Value = "" Then Exit Sub 'si la cible est effacée, sort de la procédure
For I = 1 To TS.ListColumns.Count 'boucle sur toutes les colonnes I du tableau structuré TS
    If TS.HeaderRowRange(1, I).Value = Target.Value Then 'si l'en-tête de TS colonne I est égal à la cible
        Me.Range("B3").Value = TS.DataBodyRange(I, 1).Value 'renvoie dans B3 la donnée de TS ligne 1 colonne I
        DL = TS.HeaderRowRange(I, 1).End(xlDown).Row 'définit la dernière ligne éditée de la colonne I de TS
        'renvoie dans B5 les données de la colonne I de TS, en partant de la ligne 3
        Me.Range("B5").Resize(DL - 2, 1).Value = OL.Range(OL.Cells(3, I), OL.Cells(DL, I)).Value
        Exit For 'sort de la boucle
    End If 'fin de la condition
Next I 'prochaine colonne de la boucle
DL = Me.Cells(Application.Rows.Count, "B").End(xlUp).Row 'définit la dernière ligne éditée de la colonne B
For I = 5 To DL 'boucle sur toutes les lignes I de 5 à DL
    'renvoie dans la ligne I colonne C, le nombre de fois que la valeur ligne I colonne B apparaît dans TS
    Me.Cells(I, "C").Value = Application.WorksheetFunction.CountIf(TS.DataBodyRange, Me.Cells(I, "B"))
Next I 'prochaine ligne de la boucle
End Sub

Le fichier :

2meinda-ep-v01.xlsm (51.44 Ko)

[Édition]

Il y a une petite erreur dans le code, remplace la ligne :

 Me.Range("B3").Value = TS.DataBodyRange(I, 1).Value 'renvoie dans B3 la donnée de TS ligne 1 colonne I

par :

 Me.Range("B3").Value = TS.DataBodyRange(1, I).Value 'renvoie dans B3 la donnée de TS ligne 1 colonne I

Inversion du I et du 1...

Le bon fichier :

4meinda-ep-v02.xlsm (51.70 Ko)


Bonjour ThauThème et DjiDji59430,

Merci pour votre réactivité.

Je regarde vos fichiers et je reviens vers vous

Je travaille sous Excel 2016.

ThauThème et DjiDji59430

Ce que je recherche :
Savoir si mes outils 1025/1042/1044 et 1090 sont non commun avec mon article P05789
Sur l'image les outils sont non commun avec autre article mais commun avec des pièces
capture d ecran 2022 06 15 115318

Je travaille sous Excel 2016.

Mets à jour ton profil !

Et qu'est ce qui ne va pas dans les solutions proposées ?

Pour la mienne, il suffit d'indiquer le programme avec la liste déroulante et la liste des "non-communs" apparait après une actualisation (normale dans pq) du tableau.

Crdlmt

Je n'arrive pas à comprendre ta solution

Je dois changer le programme dans la feuil 1 et après je vais sur la Liste_1?

A quoi sert la colonne C Outil_programme.outils.

Merci d'avance.

Re

2tuto.zip (95.40 Ko)

tu selectionnes ton programme et tu as les outils qui ne servent qu'a ce programme

Ce n'est pas toi qui a fait les feuilles liste et liste_1 ????

Crdlmt

Re,

Ce n'est pas toi qui a fait les feuilles liste et liste_1 ????

Si c'est moi j'étais parti pour faire une rq mais je ne savais pas la faire fonctionner donc je me suis rabattu sur la VBA.

Merci pour ton Gif ,j'avais compris le fonctionnement dans la liste_1 .

Ton fichier est super Merci

Bonne soirée

Rechercher des sujets similaires à "recherche valeur commun"