Boucle If avec "AND"
SofSof
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un soucis avec une boucle If... La macro a pour objectif de chercher les valeurs identiques entre la ligne 1 de la feuille "Données" et la colonne 2 de la feuille "Param". Si la valeur est identique alors rapporter la valeur de la colonne 3 de la ligne correspondante dans la cellule B5 de la feuille "Données". Ce qui rend la macro un peu complexe c'est que dans la cellule B5 je veux seulement la valeur la plus haute (d'où le "m" dans ma macro).
Ma macro :
Dim m As Long
m = 0
For i = 2 To Last_Ligne
For j = 1 To dercol
If Worksheets("Données").Cells(1, j) = Worksheets("Param").Cells(i, 2) And m < Worksheets("Param").Cells(i, 3) Then
m = Worksheets("Param").Cells(i, 3)
End If
Next
Next
Worksheets("Données").Cells(5, 2) = m
Le problème est que j'ai systématiquement m=0 alors que j'ai bien des valeurs identiques dans les deux feuilles (les valeurs sont vraiment identiques, il n'y a pas d'espace qui pourraient perturber la macro), les noms des feuilles sont aussi corrects.
Merci d'avance de votre aide ! :)
P.S : N'hésitez pas à me poser des questions si mes explications sont flous !
J'ai un soucis avec une boucle If... La macro a pour objectif de chercher les valeurs identiques entre la ligne 1 de la feuille "Données" et la colonne 2 de la feuille "Param". Si la valeur est identique alors rapporter la valeur de la colonne 3 de la ligne correspondante dans la cellule B5 de la feuille "Données". Ce qui rend la macro un peu complexe c'est que dans la cellule B5 je veux seulement la valeur la plus haute (d'où le "m" dans ma macro).
Ma macro :
Dim m As Long
m = 0
For i = 2 To Last_Ligne
For j = 1 To dercol
If Worksheets("Données").Cells(1, j) = Worksheets("Param").Cells(i, 2) And m < Worksheets("Param").Cells(i, 3) Then
m = Worksheets("Param").Cells(i, 3)
End If
Next
Next
Worksheets("Données").Cells(5, 2) = m
Le problème est que j'ai systématiquement m=0 alors que j'ai bien des valeurs identiques dans les deux feuilles (les valeurs sont vraiment identiques, il n'y a pas d'espace qui pourraient perturber la macro), les noms des feuilles sont aussi corrects.
Merci d'avance de votre aide ! :)
P.S : N'hésitez pas à me poser des questions si mes explications sont flous !
2 réponses
-
Bonjour,
C'est votre fichier qu'il faudrait.......
sur ce site:
https://mon-partage.fr/
ou
https://www.cjoint.com/ -
Bonjour,
Exécutes ta macro en pas à pas et surveilles l'évolution de m dans la fenêtre variables locales.