Bonjour,

L'objectif de ma macro est de trouver les 3 plus grandes valeurs dans une colonne d'une semaine X. Le format de cellule de ces valeurs est monétaire . Les colonnes sont les 52 semaines. Je note ces valeurs dans la colonne BI. Jusque là, pas de soucis.
Ensuite je cherche à trouver la désignation (se trouvant en A1) de ces valeurs et les noter en colonne BJ.
Dans la ligne Selection.find, j'ai l'erreur suivante : Erreur d'exécution '91'. Variable object ou variable de bloc With non définie. Je suppose que c'est au niveau du What que cela pose problème. Lorsque je lance ma macro, la variable Top1 a bien une valeur associée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Range(Cells(2, ColonneE), Cells(derniereligneE, ColonneE)).Select
Application.FindFormat.NumberFormat = "#,##0.00 $"
Selection.Find(What:=€ & Top1, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Lignetop1 = ActiveCell.Row
Defauttop1 = Range("A" & Lignetop1)
Range("A" & Lignetop1).Select
Range("BJ3").Value = Defauttop1
J'ai essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Selection.Find(What:=Top1, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
mais cela ne fonctionne pas non plus.

Il me sélectionne bien la colonne de la semaine demandée.

Cette formule fonctionnait sur une autre version d'Excel. Sur Excel 2016 pro, elle me met l'erreur.

J'ai défini mes variables tel quel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    Dim SemaineSaisieE As Byte
    Dim ColonneE As Integer
    Dim derniereligneE As Integer
    Dim SemaineE As String
    Dim Top1, Top2, Top3 As Currency
    Dim Lignetop1, Lignetop2, Lignetop3 As String
    Dim Defauttop1, Defauttop2, Defauttop3 As String
Comment résoudre cette erreur svp ?
Merci par avance