Aide d'un programme en vba

Résolu
Bonjour,

Je gére une base de donnée sur excel, je suis entrain de créer une application sur VBA mon souci est: je voudrais comparer deux colonnes A et B si les données de A se trouvant dans une cellule A2 par exemple sont indentiques aux données B2 alors l'application doit m'ecrire "Matching" sur une autre colonne C. je sais bien que je pouvais le faire avec la fonction si, mais j'aimerai le faire par vba. j'ai vraiment besoin de votre aide
Merci

5 réponses

  1. Modérateur
    Bonjour,

    Question : Combien de lignes doit traiter cette procédure?
    1. Beaucoup de lignes en tout cas,
  2. Modérateur
    Beaucoup, c'est pas trop précis, mais on va faire comme si tu avais plus de 5000 lignes à traiter. OK?
    Essaye ceci :
    Sub Doublons2col()
    Dim Tabl(), i As Long, drLig As Long
    
    drLig = Range("A" & Rows.Count).End(xlUp).Row
    Range("C2:C" & drLig).Clear
    Tabl = Range("A2:B" & drLig)
    For i = LBound(Tabl) To UBound(Tabl)
        If Tabl(i, 1) = Tabl(i, 2) Then
            Cells(i + 1, 3) = "Matching"
        End If
    Next
    End Sub

    1. Excuse moi j avais eu un probleme avec mon reseau
      Je vais essayé votre code
      1. L e code marche mais a chaque fois il faut l'excuter en vba
        1. Modérateur
          Ben oui. Ou l'insérer dans une autre procédure. Ou le faire appeler par une autre procédure..........................
        2. Je vaiens de créer un bouton sur une feuille excel le code que vous venez de donnez marche tres bien;. Maintenant l'unquietude que j'ai aulieu de la colonne A , on prend la colonne D et L au lieu de B je veux Afficher Maching à la colonne Q
          Merci Vraiment
      2. Modérateur
        Pas d'inquiétude :
        Sub Doublons2col()
        Dim Tabl(), i As Long, drLig As Long
        
        drLig = Range("A" & Rows.Count).End(xlUp).Row
        'on efface le contenu de la colonne Q
        Range("Q2:Q" & drLig).Clear
        'variable tableau de A2 à Lxxx
        Tabl = Range("A2:L" & drLig)
        'on boucle sur toute la variable tableau
        For i = LBound(Tabl) To UBound(Tabl)
        'ICI 4 = D et 12 = L
            If Tabl(i, 4) = Tabl(i, 12) Then
        'ICI 17 = Q
                Cells(i + 1, 17) = "Matching"
            End If
        Next
        End Sub

        Voilà

        1. Merci ça marche