Comparer 2 Range de 2 colonnes Excel

Bonjour,

J'ai 2 colonnes dans Excel qui se présentent comme ça :

Compte Montant
450002 0
450003 0
450002 10
450004 12
450007 0
450002 1

Je voudrais écrire une procédure en VB qui doit me permettre :

Vérifier si les comptes 450002 existent dans la colonne compte si oui
regarder si ya des valeurs différents de 0 dans la colonne Montant si oui
Resultat a retourner " YES"

Sinon

Resultat a retourner " No"

dans le cas en haut il doit me retouner YES

DANS CE CAS

Compte Montant
450002 0
450003 0
450002 10
450004 12
450007 0
450002 0
il doit me retouner NO

Merci de votre aide
Configuration: Windows 2000
Internet Explorer 6.0

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Ou veux-tu retourner YES ou NO dans une cellule ? ou un message ? Il n'y a qu'une seule valeur a tester ? ou faut-il tester toutes les valeurs de la 1ère colonne ?

    1. Voila mon code :

      With tempWorkbook.Sheets("AAAAA")
      For i = 2 To .Cells(60000, 47).End(xlUp).Row

      'TEST COMPTE 450002

      If tempWorkbook.Sheets("AAAAA").Cells(i, 43).Value = "450002" Then
      ThisWorkbook.Worksheets("BBBBB").Cells(ThisWorkbook.Worksheets("BBBBB").Cells(65536, 1).End(xlUp).Row + 1, 6).Value = "YES"
      Else
      If ThisWorkbook.Worksheets("BBBBB").Cells(ThisWorkbook.Worksheets("BBBBB").Cells(65536, 1).End(xlUp).Row + 1, 6).Value = "" Then
      ThisWorkbook.Worksheets("BBBBB").Cells(ThisWorkbook.Worksheets("BBBBB").Cells(65536, 1).End(xlUp).Row + 1, 6).Value = "NO"
      End If
      End If

      Ce code fonctionne, mais maintenant je dois rajouter le Test avec la colonne Montant qui se trouve dans tempWorkbook.Sheets("AAAAA").Cells(i, 47).Value !???? et j'arrive
      pas !!!
    2. @Fab_2008Bonjour,

      J'ai trouvé ! voilà le code /

      If tempWorkbook.Sheets("AAAAA").Cells(i, 43).Value = "450002" Then
      Test = Test + Val(.Cells(i, 46))
      Else
      If Test = 0 Then
      ThisWorkbook.Worksheets("BBBBB").Cells(ThisWorkbook.Worksheets("BBBBB").Cells(65536, 1).End(xlUp).Row + 1, 6).Value = "NO"
      Else
      ThisWorkbook.Worksheets("BBBBB").Cells(ThisWorkbook.Worksheets("BBBBB").Cells(65536, 1).End(xlUp).Row + 1, 6).Value = "YES"
      End If
      End If