Macro de comparaison tableau

Bonjour

J'ai 2 feuilles dans un fichier Excel :

1) La première, "Tableau", qui contient un tableau dans lequel je souhaite voir apparaître les noms des composants (Colonne A) selon les numéros de série (Colonne A)

2) La deuxième, "Comparatif", qui contient un tableau et une macro qui effectue un comparatif entre le contenu de ses cellules, et le contenu des cellules de la colonne A de la feuille "Tableau".

Le but est de comparer les numéros de séries des tableaux de chaque feuille afin de reporter le nom du composant correspondant.

J'explique mon problème : je suis néophyte en VBA Excel, je n'ai aucune connaissance en le sujet. J'aimerais modifier ma macro pour qu'elle remplisse la fonction suivante :

1) Comparer les données de la feuille "Comparatif 2" avec la feuille "Tableau"

2) Reporter dans la colonne B de la feuille "Tableau" les noms des composants dont les combinaisons de chiffres de la feuille "Comparatif 2" coïncident avec les numéros de série de la colonne A de la feuille "Tableau"

Je ne sais pas si je suis clair

Merci de votre aide

Bonjour,

essaie ainsi :

Option Explicit

Public Sub DEMO()
Dim wb As Workbook
Dim wsSource As Worksheet, wsCible As Worksheet
Dim lastRow As Long, I As Long, lCol As Long
Dim rng As Range, c As Range

    Application.ScreenUpdating = False
    Set wb = ActiveWorkbook

    Set wsSource = wb.Worksheets("Comparatif")
    Set rng = wsSource.Cells(1).CurrentRegion

    Set wsCible = wb.Worksheets("Tableau")
    lastRow = wsCible.Cells(Rows.Count, 1).End(xlUp).Row

    For I = 2 To lastRow
        With rng
            Set c = .Find(What:=ws2.Cells(I, 1), LookIn:=xlValues, Lookat:=xlWhole)
            If Not c Is Nothing Then
                lCol = c.Column
                wsCible.Cells(I, 2) = wsSource.Cells(1, lCol)
            End If
        End With
    Next I

    Set c = Nothing: Set rng = Nothing
    Set wsCible = Nothing: Set wsSource = Nothing
    Set wb = Nothing

End Sub

Bonjour et merci de ton aide

La macro ne semble pas fonctionner.

Est-il nécessaire d'avoir un code aussi dense ?

La seule différence avec le code de la macro déjà présente dans le fichier est que je souhaite rechercher 3 chiffres dans les numéros de série.

La macro actuelle effectue déjà cette recherche, mais elle prend le contenu de la cellule dans son ensemble. Je souhaite uniquement recherche une partie du numéro de série.

Je ne sais pas si tu comprends, c'est assez bête mais j'ai du mal à l'expliquer

Bonjour

A tester

Banzai64, merci de ta réponse

Cela semble fonctionner en effet, merci !

Une autre question, comment est-ce que je fais si je souhaite comparer uniquement du texte cette fois-ci ? Grossièrement, en inversant les numéros de série et les noms de composants.

(Voir la pièce jointe)

Bonjour

A vérifier

Super, merci à toi

Une dernière question, comment faire pour que la macro prenne en compte la totalité du contenu entre crochets ?

J'ai appliqué cette macro à mon document de travail, et elle reporte uniquement les résultats de la première ligne de la feuille "Comparatif"

Bonjour

Tu donnes un exemple clair, car pour moi elle recherche le contenu entre crochets

Autant pour moi, j'ai mal adapté le code. Tout est en ordre désormais, merci à toi !

Rechercher des sujets similaires à "macro comparaison tableau"