Boucle avec find

modele

bonsoir, voici on j'en suis arrivé pour le moment mais là je bloque et j'ai besoin d'aide. J'ai commencé une macro mais je dois boucler dessus et je ne sais pas comment m'y prendre, le but étant de rechercher dans la colonne 2 la ou les valeur identique à A1 et si trouvé, sur cette même ligne afficher colonne 8 le produit de colonne 3 * colonne 5 (le bout de code suivant fait cela mais ne boucle pas) ... de plus il faudrait que si il y a une valeur en colonne 9 on affiche en colonne 8 le produit de colonne 3 * colonne 9 ( au lieu de colonne 3 * colonne 5).

voici ou j'en suis pour l'instant... je mets également le fichiertest en PJ

9essai.xlsm (18.35 Ko)
Sub majValue()

test = Cells(1, 1).Value
With Worksheets("page").Range("C:C")
   Set test1 = .Find(test, LookIn:=xlValues)
   var1 = Cells(test1.Row, test1.Column + 1).Value   ' var colonne D
   var2 = Cells(test1.Row, test1.Column + 3).Value     ' variable colonne F
   var3 = var1 * var2

  Cells([C:C].Find(test).Row, 7) = var1
  Cells([C:C].Find(test).Row, 8) = var2
  Cells([C:C].Find(test).Row, 9) = var3
  Cells([C:C].Find(test).Row, 13) = (Date)

End With

End Sub

Bonsoir

Essayez le code comme ceci

Sub majValue()
Dim TS As ListObject
Dim c As Range
Dim prem As String
Dim lig As Integer

Set TS = Range("Tableau1").ListObject

With TS
    Set c = .DataBodyRange.Find(Range("A1"), LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        prem = c.Address
        Do
            lig = c.Row - .HeaderRowRange.Row

            If .DataBodyRange(lig, 9) > 0 Then
                .DataBodyRange(lig, 8) = .DataBodyRange(lig, 3) * .DataBodyRange(lig, 9)
                Else: .DataBodyRange(lig, 8) = .DataBodyRange(lig, 3) * .DataBodyRange(lig, 5)
            End If
            Set c = .DataBodyRange.FindNext(c)
        Loop While Not c Is Nothing And c.Address <> prem
    End If
End With
End Sub

Si ok et terminé pensez à cloturer

Cordialement

et dire que je me gratte la tête depuis 2 jours et là en moins d'1 heure ... ça fonctionne à merveille. Merci beaucoup pour votre aide, maintenant je vais étudier tout celà. Bonne soirée à vous

Rechercher des sujets similaires à "boucle find"