Fonction IF vba macro excel

Résolu/Fermé
couc67 Messages postés 50 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 21 avril 2011 - 3 mars 2011 à 11:54
couc67 Messages postés 50 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 21 avril 2011 - 3 mars 2011 à 14:16
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 !!


A voir également:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 3/03/2011 à 12:19
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
couc67 Messages postés 50 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 21 avril 2011
3 mars 2011 à 13:58
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 3/03/2011 à 14:08
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
couc67 Messages postés 50 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 21 avril 2011
3 mars 2011 à 14:16
parfait! Merci beaucoup ;)
0