Recherche valeurs communes et les insérer

Bonjour à tous,

J'ai besoin de vous .

J'ai 1 colonne de données sur la feuille 1 (nommée Stock agé + 12 mois) et 1 autre également sur la feuille 2 (nommée Import Gondole).

Ce que je souhaiterai si possible :

► un système afin de faire une recherche de valeurs communes entre ces deux feuilles

► Et une fois les valeurs communes repérées, faire apparaitre ces dernières dans une autre colonne présente dans la feuille 3 ( A retirer des stocks)

Ce qu'il faut savoir

► Sur la feuille 1 ( stock agé + 12 mois), le nombre de lignes pourra varier. Puisque je vais exporter via un autre logiciel et coller dans cette feuille en colonne A un certains nombre de EAN (code barre numérique) max 3000 lignes

► Sur la feuille 2 (Import gondole), le nombre de lignes, elle aussi va varier. Puisque je vais coller des lignes de EAN aussi (max 1500) dans la colonne B .

J'ai laissé des valeurs dans le fichier pour l'exemple et surtout pour vous aider à savoir si votre programme fonctionne.

Et c'est une fois les copier/coller effectués que je voudrai lancer un programme via un bouton et que cela puisse faire ressortir les valeurs communes et qu'elles s’inscrivent dans la feuille 3 en colonne C (Nommée : a retirer des stocks). Si c'est compliqué ou trop fastidieux de faire ressortir des valeurs communes sur une autre feuille faite comme vous pouvez. Sous une forme conditionnelle avec une couleur en surbrillance sur les valeurs communes, je me débrouillerai après. Faites comme vous pouvez.

En vous remerciant, vraiment.

Bonjour !

Je vous livre une proposition via Power Query (complément à télécharger : ici) :

Note : J'ai modifié le format de votre fichier afin de le...rajeunir

Bonjour JFL,

Je vous remercie dans un premier temps pour votre réactivité.

Malheureusement ça ne fonctionne pas pour le moment. Si je modifie les EAN de la feuille 2, rien ne change en feuille 3 en terme de valeur commune avec la feuille 1.

Vous me parlez de version, compatibilité, c'est du peut être du à ça alors.

C'est sur les serveurs du travail, et c'est sous un excel de 2010 uniquement je crois. Je ne peux rien télécharger d'autre et encore moins installer.

Par contre si vous arriver à remodeler ça vis a vis de ma version, si demain je dois allonger le nombre de ligne en feuille 1 et 2 autant que je veux, ça ne casse pas vos lignes de codes et rend obsolète le résultat ? C'est pour ça que je parlais des 3000 lignes max en feuille 1 et 1500 en feuille 2 .

Merci pour votre implication

Bonsoir !

Mon message précédent était trop sommaire. Si les "sources", ie vos tableaux structurés, évoluent, il est nécessaire de réactualiser le tout via le menu Données / Actualiser tout (Différent dans votre version Excel ?). Un code VBA minimaliste peut automatiser cette actualisation.

Travaillant avec des tableaux structurés, Power Query s'adaptera automatiquement à votre volumétrie. Le nombre de lignes envisagé n'est pas un souci !

Par contre si vous n'avez pas les droits pour installer le complément, il vous faut oublier cette solution ou..... exiger de votre direction le renouvellement d'un logiciel datant de.....11 ans !!

Salut Yoann,
Salut JFL,

pas connaisseur des dates d'introduction des fonctions VBA selon les versions mais tu peux toujours tenter ceci.
Code à coller dans la module VBA de la feuille 'Stock ag + 12 mois'.

La macro démarre sur un double-clic sur la cellule "EAN".

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim sWk As Worksheet, tTabA, tTabG, tExtract(), iIdx%
'
Application.ScreenUpdating = False
Set sWk = Worksheets("Import gondole")
'
If Not Intersect(Target, [A1]) Is Nothing Then
    Cancel = True
    tTabA = Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
    tTabG = sWk.Range("B2:B" & sWk.Range("B" & Rows.Count).End(xlUp).Row).Value
    For x = 1 To UBound(tTabA, 1)
        For y = 1 To UBound(tTabG, 1)
            If tTabA(x, 1) = tTabG(y, 1) Then _
                iIdx = iIdx + 1: _
                ReDim Preserve tExtract(1, iIdx): _
                tExtract(0, iIdx - 1) = tTabA(x, 1): _
                Exit For
        Next
    Next
    If iIdx > 0 Then
        With Worksheets("A retirer des stocks")
            .Cells.Delete
            .[A1] = "À retirer"
            .[A1].Interior.Color = RGB(255, 190, 0)
            .Range("A2").Resize(iIdx, 1).Value = WorksheetFunction.Transpose(tExtract)
            .Columns.AutoFit
            .Activate
        End With
    End If
End If
'
Application.ScreenUpdating = True
'
End Sub


A+

Top les mecs !!!!

Le VBA fonctionne avec le code fournit par toi curulise57 et la solution de JFL également sur un autre ordi du boulot avec une version plus récente et sans barrière de téléchargement et d'installation.

Vous avez assuré messieurs sachez le. Vous n'imaginez pas le gain de temps que je vais gagner dorénavant grâce à vous.

Bye bye nos logiciels archaïques.

Je demande la clôture de ma demande.

Rechercher des sujets similaires à "recherche valeurs communes inserer"