J ai fait une macro pour definir un nom a une cellule (TARGET) si la cellule de la ligne du dessous est a 0 (puis fait un goalseek sur la valeur contenue dans cette cellule mais ca, cela fonctionne bien dans la macro).
J ai une boucle infinie qui m oblige a stopper excel et je ne comprend pas pourquoi.....
Une ame charitable verrait elle l erreur que j ai fait ?
Merci

Voici la macro:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
Sub Set_min_lease_ratio()
 
    Dim sh As Worksheet
    Dim icol As Integer 'Compteur de ligne
 
    With Sheets("Finlease")
    Set sh = Worksheets("Finlease")
    'Initialise à la première ligne de données.
    icol = 10    'Definition la premières ligne de données .
 
    'Boucle verticale exécutant le code tant que que la cellule est diff de 0.
    While sh.Cells(icol, 2) <> "0"
 
        'controle si cell suivante est 0
        If sh.Cells(icol + 1, 2) = "0" Then
        .Names.Add Name:="TARGET", RefersTo:=.Range(Cells(icol, 6), Cells(icol, 6))
 
        Else
 
            'Augmente le compteur de ligne.
            icol = icol + 1
 
        End If
    Wend
 
    Range("FinLeaseSwitch") = 0
 
        Range("NBV_atendPPA").Copy
        Range("NBV_atendPPA_Copy").PasteSpecial xlPasteValues
 
        Range("TARGET").GoalSeek Goal:=Range("NBV_atendPPA_Copy"), ChangingCell:=Range("MIN_LEASE_RATIO")
 
    Range("FinLeaseSwitch") = 1
 
  End With
 
End Sub
Et la plage de cellule correspondante (copie ecran en jpeg):
Nom : excel issue.JPG
Affichages : 166
Taille : 61,6 Ko