Bonjour
La première, trouvée sur le Net, me donne la liste des noms que j'ai encodés
via menu/insérer/nom ....
La seconde ne me donne rien, ni les noms (via menu), ni les noms via VBA
Pourquoi?
Et surtout, quelle terminologie pour lister Tous les noms (ceux issus du
menu ET de VBA)
Merci et bon WE
--------------------------
Sub nom_des_plages()
's'écrira dans la cel sélectionnée
Selection.ListNames
End Sub
------------------------------------------------
Sub Lister_noms_plages()
Dim derL As Integer
Dim derLA As Integer
Dim derLB As Integer
Dim PlgA As Variant
Dim PlgB As Variant
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Bonjour,
"ListNames" retourne tous les "Noms visibles" (on peut créer des noms
qui ne sont pas visibles par la commande de l'interface de la feuille de
calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille
à partir de A1. Cet outil n'est pas flexible!
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
MichD
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu veux obtenir la liste des noms représentant une "Plage nommée" de cette plage, utilise plutôt ceci : Dans la procédure, adapte le nom de la feuille et de la plage de cellules visées dans : Worksheets("Feuil1").Range("A1:A4") '------------------------ Sub test() Dim N As Name For Each N In ThisWorkbook.Names 'Un test pour inclure seulement les noms visibles 'i n'est pas obligatoire... If Names(N.Name).Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A4"), Range(N.RefersTo)) Is Nothing Then Msgbox N.name " et " & n.RefersTo End If End If Next End Sub '------------------------ MichD
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour,
"ListNames" retourne tous les "Noms visibles" (on peut créer des noms
qui ne sont pas visibles par la commande de l'interface de la feuille de
calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille
à partir de A1. Cet outil n'est pas flexible!
Que veux-tu obtenir comme résultat?
MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que
tu veux obtenir la liste des noms représentant une "Plage nommée" de
cette plage, utilise plutôt ceci :
Dans la procédure, adapte le nom de la feuille et de la plage de
cellules visées dans :
Worksheets("Feuil1").Range("A1:A4")
'------------------------
Sub test()
Dim N As Name
For Each N In ThisWorkbook.Names
'Un test pour inclure seulement les noms visibles
'i n'est pas obligatoire...
If Names(N.Name).Visible = True Then
If Not Intersect(Worksheets("Feuil1").Range("A1:A4"),
Range(N.RefersTo)) Is Nothing Then
Msgbox N.name " et " & n.RefersTo
End If
End If
Next
End Sub
'------------------------
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu veux obtenir la liste des noms représentant une "Plage nommée" de cette plage, utilise plutôt ceci : Dans la procédure, adapte le nom de la feuille et de la plage de cellules visées dans : Worksheets("Feuil1").Range("A1:A4") '------------------------ Sub test() Dim N As Name For Each N In ThisWorkbook.Names 'Un test pour inclure seulement les noms visibles 'i n'est pas obligatoire... If Names(N.Name).Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A4"), Range(N.RefersTo)) Is Nothing Then Msgbox N.name " et " & n.RefersTo End If End If Next End Sub '------------------------ MichD
MichD
Le 2019-03-02 à 08:49, MichD a écrit :
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu veux obtenir la liste des noms représentant une "Plage nommée" de cette plage, utilise plutôt ceci : Dans la procédure, adapte le nom de la feuille et de la plage de cellules visées dans : Worksheets("Feuil1").Range("A1:A4") '------------------------ Sub test() Dim N As Name For Each N In ThisWorkbook.Names 'Un test pour inclure seulement les noms visibles 'i n'est pas obligatoire... If Names(N.Name).Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A4"), Range(N.RefersTo)) Is Nothing Then Msgbox N.name " et " & n.RefersTo End If End If Next End Sub '------------------------ MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo MichD
Le 2019-03-02 à 08:49, MichD a écrit :
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour,
"ListNames" retourne tous les "Noms visibles" (on peut créer des noms
qui ne sont pas visibles par la commande de l'interface de la feuille
de calcul) d'une feuille de calcul. Les noms s'affichent dans cette
feuille à partir de A1. Cet outil n'est pas flexible!
Que veux-tu obtenir comme résultat?
MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que
tu veux obtenir la liste des noms représentant une "Plage nommée" de
cette plage, utilise plutôt ceci :
Dans la procédure, adapte le nom de la feuille et de la plage de
cellules visées dans :
Worksheets("Feuil1").Range("A1:A4")
'------------------------
Sub test()
Dim N As Name
For Each N In ThisWorkbook.Names
'Un test pour inclure seulement les noms visibles
'i n'est pas obligatoire...
If Names(N.Name).Visible = True Then
If Not Intersect(Worksheets("Feuil1").Range("A1:A4"),
Range(N.RefersTo)) Is Nothing Then
Msgbox N.name " et " & n.RefersTo
End If
End If
Next
End Sub
'------------------------
MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo
devrait être : Msgbox N.name & " et " & n.RefersTo
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu veux obtenir la liste des noms représentant une "Plage nommée" de cette plage, utilise plutôt ceci : Dans la procédure, adapte le nom de la feuille et de la plage de cellules visées dans : Worksheets("Feuil1").Range("A1:A4") '------------------------ Sub test() Dim N As Name For Each N In ThisWorkbook.Names 'Un test pour inclure seulement les noms visibles 'i n'est pas obligatoire... If Names(N.Name).Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A4"), Range(N.RefersTo)) Is Nothing Then Msgbox N.name " et " & n.RefersTo End If End If Next End Sub '------------------------ MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo MichD
Jacquouille
Bonsoir Denis Merci beaucoup. En fait, je cherchais un truc sur le Net et je suis tombé sur """Selection.ListNames""" qui m'a paru très intéressant car, il arrive que mon neurone oublie des variables ou des noms. tant qu'à faire, je me demandais si cette fonction retournait les noms des plages attribués via VBA. Il semblerait que non. Mon but était de pouvoir lister tout cela dans un coin de la feuille sur laquelle je travaille, afin d'avoir accès directement à ces noms. Voilà. Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : q5e7s4$1vmn$ Le 2019-03-02 à 08:49, MichD a écrit :
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu veux obtenir la liste des noms représentant une "Plage nommée" de cette plage, utilise plutôt ceci : Dans la procédure, adapte le nom de la feuille et de la plage de cellules visées dans : Worksheets("Feuil1").Range("A1:A4") '------------------------ Sub test() Dim N As Name For Each N In ThisWorkbook.Names 'Un test pour inclure seulement les noms visibles 'i n'est pas obligatoire... If Names(N.Name).Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A4"), Range(N.RefersTo)) Is Nothing Then Msgbox N.name " et " & n.RefersTo End If End If Next End Sub '------------------------ MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo MichD
Bonsoir Denis
Merci beaucoup.
En fait, je cherchais un truc sur le Net et je suis tombé sur
"""Selection.ListNames""" qui m'a paru très intéressant car, il arrive que
mon neurone oublie des variables ou des noms.
tant qu'à faire, je me demandais si cette fonction retournait les noms des
plages attribués via VBA. Il semblerait que non.
Mon but était de pouvoir lister tout cela dans un coin de la feuille sur
laquelle je travaille, afin d'avoir accès directement à ces noms.
Voilà.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
q5e7s4$1vmn$1@gioia.aioe.org...
Le 2019-03-02 à 08:49, MichD a écrit :
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour,
"ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui
ne sont pas visibles par la commande de l'interface de la feuille de
calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille
à partir de A1. Cet outil n'est pas flexible!
Que veux-tu obtenir comme résultat?
MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu
veux obtenir la liste des noms représentant une "Plage nommée" de cette
plage, utilise plutôt ceci :
Dans la procédure, adapte le nom de la feuille et de la plage de cellules
visées dans :
Worksheets("Feuil1").Range("A1:A4")
'------------------------
Sub test()
Dim N As Name
For Each N In ThisWorkbook.Names
'Un test pour inclure seulement les noms visibles
'i n'est pas obligatoire...
If Names(N.Name).Visible = True Then
If Not Intersect(Worksheets("Feuil1").Range("A1:A4"),
Range(N.RefersTo)) Is Nothing Then
Msgbox N.name " et " & n.RefersTo
End If
End If
Next
End Sub
'------------------------
MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo
devrait être : Msgbox N.name & " et " & n.RefersTo
Bonsoir Denis Merci beaucoup. En fait, je cherchais un truc sur le Net et je suis tombé sur """Selection.ListNames""" qui m'a paru très intéressant car, il arrive que mon neurone oublie des variables ou des noms. tant qu'à faire, je me demandais si cette fonction retournait les noms des plages attribués via VBA. Il semblerait que non. Mon but était de pouvoir lister tout cela dans un coin de la feuille sur laquelle je travaille, afin d'avoir accès directement à ces noms. Voilà. Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : q5e7s4$1vmn$ Le 2019-03-02 à 08:49, MichD a écrit :
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu veux obtenir la liste des noms représentant une "Plage nommée" de cette plage, utilise plutôt ceci : Dans la procédure, adapte le nom de la feuille et de la plage de cellules visées dans : Worksheets("Feuil1").Range("A1:A4") '------------------------ Sub test() Dim N As Name For Each N In ThisWorkbook.Names 'Un test pour inclure seulement les noms visibles 'i n'est pas obligatoire... If Names(N.Name).Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A4"), Range(N.RefersTo)) Is Nothing Then Msgbox N.name " et " & n.RefersTo End If End If Next End Sub '------------------------ MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo MichD
Jacquouille
Re-bonsoir Mon vieux 2003 me donne une erreur 2004 ... mais, c'est pas grave Bon WE et merci Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : q5e7s4$1vmn$ Le 2019-03-02 à 08:49, MichD a écrit :
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu veux obtenir la liste des noms représentant une "Plage nommée" de cette plage, utilise plutôt ceci : Dans la procédure, adapte le nom de la feuille et de la plage de cellules visées dans : Worksheets("Feuil1").Range("A1:A4") '------------------------ Sub test() Dim N As Name For Each N In ThisWorkbook.Names 'Un test pour inclure seulement les noms visibles 'i n'est pas obligatoire... If Names(N.Name).Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A4"), Range(N.RefersTo)) Is Nothing Then Msgbox N.name " et " & n.RefersTo End If End If Next End Sub '------------------------ MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo MichD
Re-bonsoir
Mon vieux 2003 me donne une erreur 2004 ...
mais, c'est pas grave
Bon WE et merci
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
q5e7s4$1vmn$1@gioia.aioe.org...
Le 2019-03-02 à 08:49, MichD a écrit :
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour,
"ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui
ne sont pas visibles par la commande de l'interface de la feuille de
calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille
à partir de A1. Cet outil n'est pas flexible!
Que veux-tu obtenir comme résultat?
MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu
veux obtenir la liste des noms représentant une "Plage nommée" de cette
plage, utilise plutôt ceci :
Dans la procédure, adapte le nom de la feuille et de la plage de cellules
visées dans :
Worksheets("Feuil1").Range("A1:A4")
'------------------------
Sub test()
Dim N As Name
For Each N In ThisWorkbook.Names
'Un test pour inclure seulement les noms visibles
'i n'est pas obligatoire...
If Names(N.Name).Visible = True Then
If Not Intersect(Worksheets("Feuil1").Range("A1:A4"),
Range(N.RefersTo)) Is Nothing Then
Msgbox N.name " et " & n.RefersTo
End If
End If
Next
End Sub
'------------------------
MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo
devrait être : Msgbox N.name & " et " & n.RefersTo
Re-bonsoir Mon vieux 2003 me donne une erreur 2004 ... mais, c'est pas grave Bon WE et merci Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : q5e7s4$1vmn$ Le 2019-03-02 à 08:49, MichD a écrit :
Le 2019-03-02 à 08:34, MichD a écrit :
Bonjour, "ListNames" retourne tous les "Noms visibles" (on peut créer des noms qui ne sont pas visibles par la commande de l'interface de la feuille de calcul) d'une feuille de calcul. Les noms s'affichent dans cette feuille à partir de A1. Cet outil n'est pas flexible! Que veux-tu obtenir comme résultat? MichD
Si tu veux boucler sur une plage précise d'une feuille de calcul et que tu veux obtenir la liste des noms représentant une "Plage nommée" de cette plage, utilise plutôt ceci : Dans la procédure, adapte le nom de la feuille et de la plage de cellules visées dans : Worksheets("Feuil1").Range("A1:A4") '------------------------ Sub test() Dim N As Name For Each N In ThisWorkbook.Names 'Un test pour inclure seulement les noms visibles 'i n'est pas obligatoire... If Names(N.Name).Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A4"), Range(N.RefersTo)) Is Nothing Then Msgbox N.name " et " & n.RefersTo End If End If Next End Sub '------------------------ MichD
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo MichD
MichD
Le 2019-03-02 à 12:50, Jacquouille a écrit :
Re-bonsoir Mon vieux 2003 me donne une erreur 2004 ... mais, c'est pas grave Bon WE et merci
A ) tu as fait cette correction :
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo
2 ) Si tu as un "NOM" qui fait référence à une formule où une constante numérique par exemple, évidemment, tu vas obtenir un message d'erreur, car cette ligne de code "Intersect()" se fait entre 2 plages de cellules désignées. Par conséquent, si "Names(toto).Refers ne fait pas référence à une plage de cellules, une erreur est générée. Ajoute au début de la procédure : On Error Resume Next. N.B. Je ne peux pas deviner le type de "NOMS" que contient ton fichier. MichD
Le 2019-03-02 à 12:50, Jacquouille a écrit :
Re-bonsoir
Mon vieux 2003 me donne une erreur 2004 ...
mais, c'est pas grave
Bon WE et merci
A ) tu as fait cette correction :
Cette ligne : Msgbox N.name " et " & n.RefersTo
devrait être : Msgbox N.name & " et " & n.RefersTo
2 ) Si tu as un "NOM" qui fait référence à une formule où une constante
numérique par exemple, évidemment, tu vas obtenir un message d'erreur,
car cette ligne de code "Intersect()" se fait entre 2 plages de cellules
désignées. Par conséquent, si "Names(toto).Refers ne fait pas référence
à une plage de cellules, une erreur est générée.
Ajoute au début de la procédure : On Error Resume Next.
N.B. Je ne peux pas deviner le type de "NOMS" que contient ton fichier.
Re-bonsoir Mon vieux 2003 me donne une erreur 2004 ... mais, c'est pas grave Bon WE et merci
A ) tu as fait cette correction :
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo
2 ) Si tu as un "NOM" qui fait référence à une formule où une constante numérique par exemple, évidemment, tu vas obtenir un message d'erreur, car cette ligne de code "Intersect()" se fait entre 2 plages de cellules désignées. Par conséquent, si "Names(toto).Refers ne fait pas référence à une plage de cellules, une erreur est générée. Ajoute au début de la procédure : On Error Resume Next. N.B. Je ne peux pas deviner le type de "NOMS" que contient ton fichier. MichD
Jacquouille
Voici le lien. Accroche-toi bien ..... -)) https://www.cjoint.com/c/ICcspGAZwQa Juste un fichier test Merci et bon WE Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : q5egju$187t$ Le 2019-03-02 à 12:50, Jacquouille a écrit :
Re-bonsoir Mon vieux 2003 me donne une erreur 2004 ... mais, c'est pas grave Bon WE et merci
A ) tu as fait cette correction :
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo
2 ) Si tu as un "NOM" qui fait référence à une formule où une constante numérique par exemple, évidemment, tu vas obtenir un message d'erreur, car cette ligne de code "Intersect()" se fait entre 2 plages de cellules désignées. Par conséquent, si "Names(toto).Refers ne fait pas référence à une plage de cellules, une erreur est générée. Ajoute au début de la procédure : On Error Resume Next. N.B. Je ne peux pas deviner le type de "NOMS" que contient ton fichier. MichD
Voici le lien.
Accroche-toi bien ..... -))
https://www.cjoint.com/c/ICcspGAZwQa
Juste un fichier test
Merci et bon WE
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
q5egju$187t$1@gioia.aioe.org...
Le 2019-03-02 à 12:50, Jacquouille a écrit :
Re-bonsoir
Mon vieux 2003 me donne une erreur 2004 ...
mais, c'est pas grave
Bon WE et merci
A ) tu as fait cette correction :
Cette ligne : Msgbox N.name " et " & n.RefersTo
devrait être : Msgbox N.name & " et " & n.RefersTo
2 ) Si tu as un "NOM" qui fait référence à une formule où une constante
numérique par exemple, évidemment, tu vas obtenir un message d'erreur,
car cette ligne de code "Intersect()" se fait entre 2 plages de cellules
désignées. Par conséquent, si "Names(toto).Refers ne fait pas référence
à une plage de cellules, une erreur est générée.
Ajoute au début de la procédure : On Error Resume Next.
N.B. Je ne peux pas deviner le type de "NOMS" que contient ton fichier.
Voici le lien. Accroche-toi bien ..... -)) https://www.cjoint.com/c/ICcspGAZwQa Juste un fichier test Merci et bon WE Jacques " Le vin est au repas ce que le parfum est à la femme." . "MichD" a écrit dans le message de groupe de discussion : q5egju$187t$ Le 2019-03-02 à 12:50, Jacquouille a écrit :
Re-bonsoir Mon vieux 2003 me donne une erreur 2004 ... mais, c'est pas grave Bon WE et merci
A ) tu as fait cette correction :
Cette ligne : Msgbox N.name " et " & n.RefersTo devrait être : Msgbox N.name & " et " & n.RefersTo
2 ) Si tu as un "NOM" qui fait référence à une formule où une constante numérique par exemple, évidemment, tu vas obtenir un message d'erreur, car cette ligne de code "Intersect()" se fait entre 2 plages de cellules désignées. Par conséquent, si "Names(toto).Refers ne fait pas référence à une plage de cellules, une erreur est générée. Ajoute au début de la procédure : On Error Resume Next. N.B. Je ne peux pas deviner le type de "NOMS" que contient ton fichier. MichD
MichD
J'ai pris le temps de tester et voilà le résultat : '---------------------------- Sub test() Dim N As Name For Each N In ThisWorkbook.Names If N.Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A35"), Range(N.RefersTo)) Is Nothing Then MsgBox N.Name & " et " & N.RefersTo End If End If Next End Sub '---------------------------- MichD
J'ai pris le temps de tester et voilà le résultat :
'----------------------------
Sub test()
Dim N As Name
For Each N In ThisWorkbook.Names
If N.Visible = True Then
If Not Intersect(Worksheets("Feuil1").Range("A1:A35"),
Range(N.RefersTo)) Is Nothing Then
MsgBox N.Name & " et " & N.RefersTo
End If
End If
Next
End Sub
'----------------------------
J'ai pris le temps de tester et voilà le résultat : '---------------------------- Sub test() Dim N As Name For Each N In ThisWorkbook.Names If N.Visible = True Then If Not Intersect(Worksheets("Feuil1").Range("A1:A35"), Range(N.RefersTo)) Is Nothing Then MsgBox N.Name & " et " & N.RefersTo End If End If Next End Sub '---------------------------- MichD