Boucle If avec "AND"

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 !

2 réponses

  1. Bonjour,

    C'est votre fichier qu'il faudrait.......
    sur ce site:
    https://mon-partage.fr/
    ou
    https://www.cjoint.com/
    1. 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 !
    2. @SofSofBonjour,

      En prenant la colonne B ira bien mieux
      Last_Ligne = Worksheets("Param").Range("B65536").End(xlUp).Row
  2. Bonjour,

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