[déplacé VB6 -> VBA] Problème récupération de valeurs
cs_nicoba
Messages postés1Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention25 novembre 2010
-
25 nov. 2010 à 10:39
cs_twiix
Messages postés3Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention13 décembre 2010
-
9 déc. 2010 à 12:43
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
A voir également:
[déplacé VB6 -> VBA] Problème récupération de valeurs