Plages nommées via VBA ne fonctionnent pas

Bonjour,

En travaillant sur la question de "fly_emirates" j'ai rencontré un problème que je ne m'explique pas.

La macro fait appel à des plages nommées dynamiques. Si je définis les plages via Excel (Formules => définir un nom), la macro marche sans souci. La preuve, là elle marche.

Par contre, si je définis les noms via VBA :

Sub testNom()
    Application.Names.Add Name:="[b]Liste1[/b]", RefersTo:= _
    "=DECALER(compa!$A$2,,,NBVAL(compa!$A:$A)-1,1)"
    Application.Names.Add Name:="[b]Liste2[/b]", RefersTo:= _
    "=DECALER(compa!$B$2,,,NBVAL(compa!$B:$B)-1,1)"
End Sub

Les noms sont définis via cette macro sont valides; par contre, la macro les utilisant ne marche plus, je ne comprends pas du tout.

Si vous avez une idée, voici la macro utilisant les noms.

Sub compa()

Dim estValTrouvee() As Boolean
Dim i As Integer, j As Integer, compteur As Integer
ReDim estValTrouvee(1 To Range("Liste1").Cells.Count)

For i = LBound(estValTrouvee) To UBound(estValTrouvee)
    For j = 1 To Range("Liste2").Cells.Count
        If Range("Liste1").Cells(i, 1).Value = Range("Liste2").Cells(j, 1).Value And estValTrouvee(i) = False Then
            estValTrouvee(i) = True
            compteur = compteur + 1
        End If
    Next j
Next i
Range("E4").Value = compteur / Range("Liste1").Cells.Count

End Sub

Pour définir les noms via vba, appuyez sur le bouton "Définir les noms via vba"

Merci,

41compa.xlsm (21.35 Ko)

Bonsoir

Pas de solution (de mon côté)

Maigre consolation j'ai juste trouvé ça pour que cela fonctionne

Sub testNom()
    Application.Names.Add Name:="Liste1", RefersToR1C1:= _
        "=OFFSET(compa!R2C1,,,COUNTA(compa!C1)-1,1)"
    Application.Names.Add Name:="Liste2", RefersToR1C1:= _
        "=OFFSET(compa!R2C2,,,COUNTA(compa!C2)-1,1)"

'    Application.Names.Add Name:="Liste1", RefersTo:= _
'    "=DECALER(compa!$A$2,,,NBVAL(compa!$A:$A)-1,1)"
'    Application.Names.Add Name:="Liste2", RefersTo:= _
'    "=DECALER(compa!$B$2,,,NBVAL(compa!$B:$B)-1,1)"
End Sub

Merci beaucoup.

Une consolation qui fonctionne n'est jamais maigre !

Rechercher des sujets similaires à "plages nommees via vba fonctionnent pas"