[déplacé VB6 -> VBA] Problème récupération de valeurs

Signaler
Messages postés
1
Date d'inscription
mercredi 6 décembre 2006
Statut
Membre
Dernière intervention
25 novembre 2010
-
Messages postés
3
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
13 décembre 2010
-
Bonjour,

J'ai un petit soucis...
Dans un même classeur, j'ai 2 onglets :
SORTIES qui contient 20 colonnes et quelques centaines de lignes
TRANSFERTS qui contient 45 colonnes et des milliers de lignes

L'objectif est de comparer les valeurs de la colonnes H de l'onglet 1 avec la colonne S de l'onglet 2. Si les valeurs sont égales, je dois copier la valeur de la colonne D de la ligne correspondante de l'onglet 2 vers la colonne L de la ligne correspondante de l'onglet 1.

J'ai récupéré des infos sur le net et voilà la macro :

Sub SORTIE_TRANSFERT()
    
    Dim rng1 As Range
    Dim rng2 As Range
    Dim liste() As Integer
    Dim C As Range
    Dim j As Integer
   Dim mavaleur As String
    Set rng1 = Worksheets("SORTIES").Range("H2", Worksheets("SORTIES").Range("H" & Rows.Count).End(xlUp))
    Set rng2 = Worksheets("TRANSFERTS").Range("S2", Worksheets("TRANSFERTS").Range("S" & Rows.Count).End(xlUp))
    ReDim liste(0)
    For Each C In rng1
       If Application.WorksheetFunction.CountIf(rng2, C) > 0 Then
            ReDim Preserve liste(UBound(liste) + 1)
            liste(UBound(liste)) = C.Row
        End If
    Next C
'
    For j = UBound(liste) To 1 Step -1
    mavaleur = Worksheets("TRANSFERTS").Cells(liste(j), 4).Value
    Worksheets("SORTIES").Cells(liste(j), 12).Value = mavaleur
    
    Next
End Sub



Mon problème est que la valeur qui est collée dans l'onglet 1 issue de l'onglet 2 ne correspond pas.
Le résultat provient bien de la colonne D de l'onglet 2 mais ne correspond pas à la ligne ou il y a équivalence.

J'espère avoir été clair...

Merci de votre aide

1 réponse

Messages postés
3
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
13 décembre 2010

cela ressemble beaucoup à la fonction "rechercheV" d'excel....