Boucle If avec "AND"

SofSof -  
f894009 Messages postés 17277 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 !
A voir également:

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

C'est votre fichier qu'il faudrait.......
sur ce site:
https://mon-partage.fr/
ou
https://www.cjoint.com/
0
SofSof
 
Bonjour,
j'ai créé un fichier simplifié avec le premier lien que vous m'avez donné : https://mon-partage.fr/f/ihPsdLxY/

Dites moi si cela fonctionne !
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > SofSof
 
Bonjour,

En prenant la colonne B ira bien mieux
Last_Ligne = Worksheets("Param").Range("B65536").End(xlUp).Row
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Exécutes ta macro en pas à pas et surveilles l'évolution de m dans la fenêtre variables locales.
0