Aide sur code macro table de conversion avec condition

Soleil11

XLDnaute Occasionnel
Bonjour le forum,

J'aurais besoin de votre aide pour finaliser le code de cette macro. Cette macro fonctionne très bien et les valeurs de la colonne C sont converties selon ma table de conversion en feuille "CR". J'aimerais que la macro ne changent que les valeur qui sont filtréer selon critère de colonne A et B et pas toutes les valeurs.

Est-il possible de changer le code afin qu'il ne changent que les valeur qui sont filtrée en colonne A et B ?

J'ai attaché mon fichier test.

Code:
Sub Test1()

Dim r1 As Range, r2 As Range, c As Range, v As Range


   ActiveSheet.Range("$A$1:$AK$19").AutoFilter Field:=1, Criteria1:="="
   ActiveSheet.Range("$A$1:$AK$19").AutoFilter Field:=2, Criteria1:="104395001"


Application.ScreenUpdating = False

With Sheets("Data")

Set r1 = .Range("D2:D" & .Range("D100").End(xlUp).Row)

End With

With Sheets("CR")

Set r2 = .Range("A1:A" & .Range("A100").End(xlUp).Row)

End With

For Each c In r1
    Set v = r2.Find(c.Value)
    If Not v Is Nothing Then
        c.Offset(0, -1).Value = v.Offset(0, 1).Value
        
'Else
        
    End If
Next

Merci de votre aide.

Soleil11:confused:
 

Pièces jointes

  • Test.xls
    44 KB · Affichages: 106
  • Test.xls
    44 KB · Affichages: 110
  • Test.xls
    44 KB · Affichages: 113

wilfried_42

XLDnaute Barbatruc
Re : Aide sur code macro table de conversion avec condition

Bonjour

n'ayant pas d'autres precisions, j'imagine que le filtre s'applique sur cette plage
Code:
Set r1 = .Range("D2:D" & .Range("D100").End(xlUp).Row)
essaye ça :
Code:
Set r1 = .Range("D2:D" & .Range("D100").End(xlUp).Row).SpecialCells(xlCellTypeVisible)

cordialement
 

Discussions similaires

Réponses
7
Affichages
312
Réponses
1
Affichages
159