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
    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
  2. 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
  3. Excuse moi j avais eu un probleme avec mon reseau
    Je vais essayé votre code
    1. 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. Modérateur
        Bonjour,

        Question : Combien de lignes doit traiter cette procédure?
        1. Beaucoup de lignes en tout cas,