Fonction IF vba macro excel

Résolu
Bonjour,

j'ai une fonction permettant de comparer 2 x 2 cellules entre elles. Mais la fonction de passe pas lorsque je lance ma macro...

Dim i As Integer

Set FL1 = Worksheets("Feuil1")
Set FL2 = Worksheets("Feuil2")

For i = 2 To DerniereLigne
If (FL1.Cells(i, 3) = FL1.Cells(i, 4)) & (FL1.Cells(i, 9) = FL1.Cells(i, 10)) Then
FL2.Cells(i, 2).Value = 1
Else
FL2.Cells(i, 2).Value = 0
End If
Next i

J'ai également tenté en utilisant des cells().value mais ca ne marche pas non plus... Une petite idée ? Merci d'avance de votre aide !!

2 réponses

  1. Contributeur
    bonjour

    Je suppose que "derniereligne" est définie en amont ?

    If (FL1.Cells(i, 3) = FL1.Cells(i, 4)) AND (FL1.Cells(i, 9) = FL1.Cells(i, 10)) Then

    & est un symbole de concaténation
    Michel
    0
    1. Oui oui, derniereligne est défini au dessus.

      la ligne passe maintenant, merci bien !!

      Un autre problème que j'ai est la ligne suivante :

      FL2.Cells(2, 8) = WorksheetFunction.Average(Range("C2", Cells(DerniereLigne, 3)))

      j'aimerai simplement mettre la valeur moyenne de la liste C2 à C(DerniereLigne), mais une nouvelle fois, ca passe pas.... une autre idée ?

      Encore merci pour le AND de tout à l'heure !! C'est bon à savoir
      0
  2. Contributeur
    si tout en FL2
    With FL2  
         .Cells(2, 8) = Application.Average(.Range(.cells(2,3), .Cells(DerniereLigne, 3)))   
    End with   


    Worksheetfunction est une collection de l'objet application. syntaxe d'école:

    application.Worksheeetfunction.average(....

    Michel
    0
    1. parfait! Merci beaucoup ;)
      0