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.
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é
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 :
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
Partager