OVH Cloud OVH Cloud

erreur 'Nom qui existe déjà sur la feuille de destination'

19 réponses
Avatar
Gouap
Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination. Voulez vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont été défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs références d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre référence.

9 réponses

1 2
Avatar
michdenis
J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à 2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion :

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS", j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it in an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn. For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid #NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut mettre à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de discussion :
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le supprimer ?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de discussion :
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination. Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom "Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.












Avatar
Gouap
Salut michdenis,

Sur ce lien en français :
http://office.microsoft.com/fr-fr/excel/HA102045691036.aspx?pid=CH010004941036
J'ai cru comprendre que Excel ajoutait "_xlfn." devant chaqu'une des
fonctions non prise en charge dans la version d'Excel en cours d'exécution.
C'est à partir de là que personnellement j'ai déduit que pour retrouver
cette fonction non prise en charge par la version courante d'Excel, je
devait rechercher soit "_xlfn." soit "COUNTIFS" puisque le message d'erreur
fait état de "_xlfn.COUNTIFS " .
Si non je vois pas comment retrouver parmis toutes les formules de ma
feuille la fonction qui pose problème.
Si ce n'est pas ça alors que dois-je faire pour supprimer les fonctions non
prises en charge pour pouvoir les remplacez-les par des fonctions prises en
charge.



"michdenis" a écrit dans le message de news:

J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à
2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce
fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion :

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS", j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions
that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it in
an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn. For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid
#NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut mettre à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de discussion :
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le supprimer
?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de discussion
:
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de
discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination. Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom "Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.















Avatar
michdenis
à partir du menu : Rechercher /

tu inscris dans la case rechercher : xlfn

et dans les options, tu t'assures que :

Regarder dans "FORMULES"
et que les 2 cases
Respecter la casse et Totalité du contenu de la cellule
ne sont pas cochées.

Ceci va te permettre de retrouver une à une les cellules problématiques.
Et oui, tu peux trouver une formule équivalente avec la version en cours.





"Gouap" a écrit dans le message de groupe de discussion :
#
Salut michdenis,

Sur ce lien en français :
http://office.microsoft.com/fr-fr/excel/HA102045691036.aspx?pid=CH010004941036
J'ai cru comprendre que Excel ajoutait "_xlfn." devant chaqu'une des
fonctions non prise en charge dans la version d'Excel en cours d'exécution.
C'est à partir de là que personnellement j'ai déduit que pour retrouver
cette fonction non prise en charge par la version courante d'Excel, je
devait rechercher soit "_xlfn." soit "COUNTIFS" puisque le message d'erreur
fait état de "_xlfn.COUNTIFS " .
Si non je vois pas comment retrouver parmis toutes les formules de ma
feuille la fonction qui pose problème.
Si ce n'est pas ça alors que dois-je faire pour supprimer les fonctions non
prises en charge pour pouvoir les remplacez-les par des fonctions prises en
charge.



"michdenis" a écrit dans le message de news:

J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à
2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce
fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion :

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS", j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions
that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it in
an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn. For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid
#NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut mettre à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de discussion :
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le supprimer
?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de discussion
:
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de
discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination. Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom "Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.















Avatar
Gouap
Je viens de faire une nouvelle recherche sur la feuille puis sur l'ensemble
du classeur avec les options configurées 'Respecter la casse et Totalité du
contenu de la cellule ' non cochées sans obtenir de résultat. Aucune cellule
ne semble être problématique.
Aucune déclaration de NOM non plus. Et pourtant j'obtient toujours cette
erreur :
Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination. Voulez-vous
utiliser cette version du nom ?"

Le seul truc qui semble pourtant cloché c'est ce fameux "_xlfn.COUNTIFS" qui
s'affiche suite au lancement de ta macro (celle qui inscrit les NOM sur une
nouvelle feuille) et qui n'est pas visible quand j'utiliser 'Gérer les
noms'). Je ne peux pas voir sur la feuille et encore moins supprimer.






"michdenis" a écrit dans le message de news:

à partir du menu : Rechercher /

tu inscris dans la case rechercher : xlfn

et dans les options, tu t'assures que :

Regarder dans "FORMULES"
et que les 2 cases
Respecter la casse et Totalité du contenu de la cellule
ne sont pas cochées.

Ceci va te permettre de retrouver une à une les cellules problématiques.
Et oui, tu peux trouver une formule équivalente avec la version en cours.





"Gouap" a écrit dans le message de groupe de discussion :
#
Salut michdenis,

Sur ce lien en français :
http://office.microsoft.com/fr-fr/excel/HA102045691036.aspx?pid=CH010004941036
J'ai cru comprendre que Excel ajoutait "_xlfn." devant chaqu'une des
fonctions non prise en charge dans la version d'Excel en cours
d'exécution.
C'est à partir de là que personnellement j'ai déduit que pour retrouver
cette fonction non prise en charge par la version courante d'Excel, je
devait rechercher soit "_xlfn." soit "COUNTIFS" puisque le message
d'erreur
fait état de "_xlfn.COUNTIFS " .
Si non je vois pas comment retrouver parmis toutes les formules de ma
feuille la fonction qui pose problème.
Si ce n'est pas ça alors que dois-je faire pour supprimer les fonctions
non
prises en charge pour pouvoir les remplacez-les par des fonctions prises
en
charge.



"michdenis" a écrit dans le message de news:

J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à
2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre
référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce
fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion :

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais
je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS",
j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions
that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it in
an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn. For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that
contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid
#NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut mettre
à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de discussion
:
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro
met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le supprimer
?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de discussion
:
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de
discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise
plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de
discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom "Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.


















Avatar
michdenis
Ce que je pouvais faire pour toi sans voir le fichier se retrouve dans
les messages de ce fil que j'ai émis.

P.S- As-tu sélectionné toutes les feuilles avant de lancer ta recherche afin
d'inclure toutes les formules du classeur ?



"Gouap" a écrit dans le message de groupe de discussion :

Je viens de faire une nouvelle recherche sur la feuille puis sur l'ensemble
du classeur avec les options configurées 'Respecter la casse et Totalité du
contenu de la cellule ' non cochées sans obtenir de résultat. Aucune cellule
ne semble être problématique.
Aucune déclaration de NOM non plus. Et pourtant j'obtient toujours cette
erreur :
Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination. Voulez-vous
utiliser cette version du nom ?"

Le seul truc qui semble pourtant cloché c'est ce fameux "_xlfn.COUNTIFS" qui
s'affiche suite au lancement de ta macro (celle qui inscrit les NOM sur une
nouvelle feuille) et qui n'est pas visible quand j'utiliser 'Gérer les
noms'). Je ne peux pas voir sur la feuille et encore moins supprimer.






"michdenis" a écrit dans le message de news:

à partir du menu : Rechercher /

tu inscris dans la case rechercher : xlfn

et dans les options, tu t'assures que :

Regarder dans "FORMULES"
et que les 2 cases
Respecter la casse et Totalité du contenu de la cellule
ne sont pas cochées.

Ceci va te permettre de retrouver une à une les cellules problématiques.
Et oui, tu peux trouver une formule équivalente avec la version en cours.





"Gouap" a écrit dans le message de groupe de discussion :
#
Salut michdenis,

Sur ce lien en français :
http://office.microsoft.com/fr-fr/excel/HA102045691036.aspx?pid=CH010004941036
J'ai cru comprendre que Excel ajoutait "_xlfn." devant chaqu'une des
fonctions non prise en charge dans la version d'Excel en cours
d'exécution.
C'est à partir de là que personnellement j'ai déduit que pour retrouver
cette fonction non prise en charge par la version courante d'Excel, je
devait rechercher soit "_xlfn." soit "COUNTIFS" puisque le message
d'erreur
fait état de "_xlfn.COUNTIFS " .
Si non je vois pas comment retrouver parmis toutes les formules de ma
feuille la fonction qui pose problème.
Si ce n'est pas ça alors que dois-je faire pour supprimer les fonctions
non
prises en charge pour pouvoir les remplacez-les par des fonctions prises
en
charge.



"michdenis" a écrit dans le message de news:

J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à
2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre
référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce
fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion :

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais
je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS",
j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions
that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it in
an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn. For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that
contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid
#NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut mettre
à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de discussion
:
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro
met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le supprimer
?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de discussion
:
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de
discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise
plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de
discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom "Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.


















Avatar
Gouap
Oui j'ai fait une recherche sur l'ensemble des feuilles sans rien trouver.

Par contre je viens de constater un truc.
Alors que tous les NOMS semblent être définis de la même manière, au niveau
de la feuille et pas du classeur. Si je copie l'ensemble d'une feuille sur
l'autre, seul un NOM pose problème en déclanchant le message :
"....Voulez-vous utiliser cette version du nom ?"
Si je réponds OUI, jobtiens sur la nouvelle feuille le NOM "Mensualisation"
mais qui a comme référence, la référence de la feuille d'où est issue la
copie alors que pour tous les autres NOMS, la référence est bien celle de la
nouvelle feuille.
Je sais pas si je suis bien clair.

Maintenant si pour trouver une solution, tu penses qu'il te faut voire le
classeur, dis moi comment faire pour te le faire passer (même si je ne suis
pas trop chaud pour ça, parce que tu vas vraiment trouver qu'il est
'bordelique' ).



"michdenis" a écrit dans le message de news:

Ce que je pouvais faire pour toi sans voir le fichier se retrouve dans
les messages de ce fil que j'ai émis.

P.S- As-tu sélectionné toutes les feuilles avant de lancer ta recherche
afin
d'inclure toutes les formules du classeur ?



"Gouap" a écrit dans le message de groupe de discussion :

Je viens de faire une nouvelle recherche sur la feuille puis sur
l'ensemble
du classeur avec les options configurées 'Respecter la casse et Totalité
du
contenu de la cellule ' non cochées sans obtenir de résultat. Aucune
cellule
ne semble être problématique.
Aucune déclaration de NOM non plus. Et pourtant j'obtient toujours cette
erreur :
Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez-vous
utiliser cette version du nom ?"

Le seul truc qui semble pourtant cloché c'est ce fameux "_xlfn.COUNTIFS"
qui
s'affiche suite au lancement de ta macro (celle qui inscrit les NOM sur
une
nouvelle feuille) et qui n'est pas visible quand j'utiliser 'Gérer les
noms'). Je ne peux pas voir sur la feuille et encore moins supprimer.






"michdenis" a écrit dans le message de news:

à partir du menu : Rechercher /

tu inscris dans la case rechercher : xlfn

et dans les options, tu t'assures que :

Regarder dans "FORMULES"
et que les 2 cases
Respecter la casse et Totalité du contenu de la cellule
ne sont pas cochées.

Ceci va te permettre de retrouver une à une les cellules problématiques.
Et oui, tu peux trouver une formule équivalente avec la version en cours.





"Gouap" a écrit dans le message de groupe de discussion :
#
Salut michdenis,

Sur ce lien en français :
http://office.microsoft.com/fr-fr/excel/HA102045691036.aspx?pid=CH010004941036
J'ai cru comprendre que Excel ajoutait "_xlfn." devant chaqu'une des
fonctions non prise en charge dans la version d'Excel en cours
d'exécution.
C'est à partir de là que personnellement j'ai déduit que pour retrouver
cette fonction non prise en charge par la version courante d'Excel, je
devait rechercher soit "_xlfn." soit "COUNTIFS" puisque le message
d'erreur
fait état de "_xlfn.COUNTIFS " .
Si non je vois pas comment retrouver parmis toutes les formules de ma
feuille la fonction qui pose problème.
Si ce n'est pas ça alors que dois-je faire pour supprimer les fonctions
non
prises en charge pour pouvoir les remplacez-les par des fonctions prises
en
charge.



"michdenis" a écrit dans le message de news:

J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à
2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent
pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre
référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce
fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion
:

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais
je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS",
j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions
that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it in
an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn.
For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that
contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid
#NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible
par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut mettre
à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de discussion
:
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro
met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas
a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le
supprimer
?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de
discussion
:
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun
NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais
ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de
discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise
plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le
faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au
niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de
discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom
"Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.





















Avatar
michdenis
Tu peux envoyer ton fichier dans ma boîte Hotmail.com
en spécifiant quelle est la feuille que tu copies et où tu la copies.



"Gouap" a écrit dans le message de groupe de discussion :

Oui j'ai fait une recherche sur l'ensemble des feuilles sans rien trouver.

Par contre je viens de constater un truc.
Alors que tous les NOMS semblent être définis de la même manière, au niveau
de la feuille et pas du classeur. Si je copie l'ensemble d'une feuille sur
l'autre, seul un NOM pose problème en déclanchant le message :
"....Voulez-vous utiliser cette version du nom ?"
Si je réponds OUI, jobtiens sur la nouvelle feuille le NOM "Mensualisation"
mais qui a comme référence, la référence de la feuille d'où est issue la
copie alors que pour tous les autres NOMS, la référence est bien celle de la
nouvelle feuille.
Je sais pas si je suis bien clair.

Maintenant si pour trouver une solution, tu penses qu'il te faut voire le
classeur, dis moi comment faire pour te le faire passer (même si je ne suis
pas trop chaud pour ça, parce que tu vas vraiment trouver qu'il est
'bordelique' ).



"michdenis" a écrit dans le message de news:

Ce que je pouvais faire pour toi sans voir le fichier se retrouve dans
les messages de ce fil que j'ai émis.

P.S- As-tu sélectionné toutes les feuilles avant de lancer ta recherche
afin
d'inclure toutes les formules du classeur ?



"Gouap" a écrit dans le message de groupe de discussion :

Je viens de faire une nouvelle recherche sur la feuille puis sur
l'ensemble
du classeur avec les options configurées 'Respecter la casse et Totalité
du
contenu de la cellule ' non cochées sans obtenir de résultat. Aucune
cellule
ne semble être problématique.
Aucune déclaration de NOM non plus. Et pourtant j'obtient toujours cette
erreur :
Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez-vous
utiliser cette version du nom ?"

Le seul truc qui semble pourtant cloché c'est ce fameux "_xlfn.COUNTIFS"
qui
s'affiche suite au lancement de ta macro (celle qui inscrit les NOM sur
une
nouvelle feuille) et qui n'est pas visible quand j'utiliser 'Gérer les
noms'). Je ne peux pas voir sur la feuille et encore moins supprimer.






"michdenis" a écrit dans le message de news:

à partir du menu : Rechercher /

tu inscris dans la case rechercher : xlfn

et dans les options, tu t'assures que :

Regarder dans "FORMULES"
et que les 2 cases
Respecter la casse et Totalité du contenu de la cellule
ne sont pas cochées.

Ceci va te permettre de retrouver une à une les cellules problématiques.
Et oui, tu peux trouver une formule équivalente avec la version en cours.





"Gouap" a écrit dans le message de groupe de discussion :
#
Salut michdenis,

Sur ce lien en français :
http://office.microsoft.com/fr-fr/excel/HA102045691036.aspx?pid=CH010004941036
J'ai cru comprendre que Excel ajoutait "_xlfn." devant chaqu'une des
fonctions non prise en charge dans la version d'Excel en cours
d'exécution.
C'est à partir de là que personnellement j'ai déduit que pour retrouver
cette fonction non prise en charge par la version courante d'Excel, je
devait rechercher soit "_xlfn." soit "COUNTIFS" puisque le message
d'erreur
fait état de "_xlfn.COUNTIFS " .
Si non je vois pas comment retrouver parmis toutes les formules de ma
feuille la fonction qui pose problème.
Si ce n'est pas ça alors que dois-je faire pour supprimer les fonctions
non
prises en charge pour pouvoir les remplacez-les par des fonctions prises
en
charge.



"michdenis" a écrit dans le message de news:

J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à
2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent
pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre
référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce
fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion
:

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais
je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS",
j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions
that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it in
an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn.
For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that
contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid
#NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible
par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut mettre
à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de discussion
:
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro
met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas
a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le
supprimer
?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de
discussion
:
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun
NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais
ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de
discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise
plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le
faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au
niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de
discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom
"Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.





















Avatar
Gouap
Ok, C'est fait !

"michdenis" a écrit dans le message de news:

Tu peux envoyer ton fichier dans ma boîte Hotmail.com
en spécifiant quelle est la feuille que tu copies et où tu la copies.



"Gouap" a écrit dans le message de groupe de discussion :

Oui j'ai fait une recherche sur l'ensemble des feuilles sans rien trouver.

Par contre je viens de constater un truc.
Alors que tous les NOMS semblent être définis de la même manière, au
niveau
de la feuille et pas du classeur. Si je copie l'ensemble d'une feuille sur
l'autre, seul un NOM pose problème en déclanchant le message :
"....Voulez-vous utiliser cette version du nom ?"
Si je réponds OUI, jobtiens sur la nouvelle feuille le NOM
"Mensualisation"
mais qui a comme référence, la référence de la feuille d'où est issue la
copie alors que pour tous les autres NOMS, la référence est bien celle de
la
nouvelle feuille.
Je sais pas si je suis bien clair.

Maintenant si pour trouver une solution, tu penses qu'il te faut voire le
classeur, dis moi comment faire pour te le faire passer (même si je ne
suis
pas trop chaud pour ça, parce que tu vas vraiment trouver qu'il est
'bordelique' ).



"michdenis" a écrit dans le message de news:

Ce que je pouvais faire pour toi sans voir le fichier se retrouve dans
les messages de ce fil que j'ai émis.

P.S- As-tu sélectionné toutes les feuilles avant de lancer ta recherche
afin
d'inclure toutes les formules du classeur ?



"Gouap" a écrit dans le message de groupe de discussion :

Je viens de faire une nouvelle recherche sur la feuille puis sur
l'ensemble
du classeur avec les options configurées 'Respecter la casse et Totalité
du
contenu de la cellule ' non cochées sans obtenir de résultat. Aucune
cellule
ne semble être problématique.
Aucune déclaration de NOM non plus. Et pourtant j'obtient toujours cette
erreur :
Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez-vous
utiliser cette version du nom ?"

Le seul truc qui semble pourtant cloché c'est ce fameux "_xlfn.COUNTIFS"
qui
s'affiche suite au lancement de ta macro (celle qui inscrit les NOM sur
une
nouvelle feuille) et qui n'est pas visible quand j'utiliser 'Gérer les
noms'). Je ne peux pas voir sur la feuille et encore moins supprimer.






"michdenis" a écrit dans le message de news:

à partir du menu : Rechercher /

tu inscris dans la case rechercher : xlfn

et dans les options, tu t'assures que :

Regarder dans "FORMULES"
et que les 2 cases
Respecter la casse et Totalité du contenu de la cellule
ne sont pas cochées.

Ceci va te permettre de retrouver une à une les cellules problématiques.
Et oui, tu peux trouver une formule équivalente avec la version en
cours.





"Gouap" a écrit dans le message de groupe de discussion
:
#
Salut michdenis,

Sur ce lien en français :
http://office.microsoft.com/fr-fr/excel/HA102045691036.aspx?pid=CH010004941036
J'ai cru comprendre que Excel ajoutait "_xlfn." devant chaqu'une des
fonctions non prise en charge dans la version d'Excel en cours
d'exécution.
C'est à partir de là que personnellement j'ai déduit que pour retrouver
cette fonction non prise en charge par la version courante d'Excel, je
devait rechercher soit "_xlfn." soit "COUNTIFS" puisque le message
d'erreur
fait état de "_xlfn.COUNTIFS " .
Si non je vois pas comment retrouver parmis toutes les formules de ma
feuille la fonction qui pose problème.
Si ce n'est pas ça alors que dois-je faire pour supprimer les fonctions
non
prises en charge pour pouvoir les remplacez-les par des fonctions prises
en
charge.



"michdenis" a écrit dans le message de news:

J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à
2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent
pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre
référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce
fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion
:

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de
similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais
je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS",
j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu
ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions
that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it
in
an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn.
For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that
contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid
#NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible
par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut
mettre
à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de
discussion
:
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro
met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas
a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le
supprimer
?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de
discussion
:
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun
NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais
ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de
discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu
construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise
plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras
pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le
faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au
niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de
discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont
été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs
références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom
"Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.
























Avatar
michdenis
Copie de la réponse dans ta bal,


Bonjour Philippe,

Pour te débarrasser du message complètement :

A ) dans ta feuille 10-2009, celle que tu copies,
modifie le nom mensualisation pour '10-2009'!Mensualisation
Comme ça, tous les noms seront définis au niveau de la feuille

B ) dans ta feuille 9-2009, supprime le nom "Mensualisation"

C ) Tu devrais être capable de faire tes copier-coller sans aucun
message particulier.

Salutations.




"Gouap" a écrit dans le message de groupe de discussion :
#8yua$
Ok, C'est fait !

"michdenis" a écrit dans le message de news:

Tu peux envoyer ton fichier dans ma boîte Hotmail.com
en spécifiant quelle est la feuille que tu copies et où tu la copies.



"Gouap" a écrit dans le message de groupe de discussion :

Oui j'ai fait une recherche sur l'ensemble des feuilles sans rien trouver.

Par contre je viens de constater un truc.
Alors que tous les NOMS semblent être définis de la même manière, au
niveau
de la feuille et pas du classeur. Si je copie l'ensemble d'une feuille sur
l'autre, seul un NOM pose problème en déclanchant le message :
"....Voulez-vous utiliser cette version du nom ?"
Si je réponds OUI, jobtiens sur la nouvelle feuille le NOM
"Mensualisation"
mais qui a comme référence, la référence de la feuille d'où est issue la
copie alors que pour tous les autres NOMS, la référence est bien celle de
la
nouvelle feuille.
Je sais pas si je suis bien clair.

Maintenant si pour trouver une solution, tu penses qu'il te faut voire le
classeur, dis moi comment faire pour te le faire passer (même si je ne
suis
pas trop chaud pour ça, parce que tu vas vraiment trouver qu'il est
'bordelique' ).



"michdenis" a écrit dans le message de news:

Ce que je pouvais faire pour toi sans voir le fichier se retrouve dans
les messages de ce fil que j'ai émis.

P.S- As-tu sélectionné toutes les feuilles avant de lancer ta recherche
afin
d'inclure toutes les formules du classeur ?



"Gouap" a écrit dans le message de groupe de discussion :

Je viens de faire une nouvelle recherche sur la feuille puis sur
l'ensemble
du classeur avec les options configurées 'Respecter la casse et Totalité
du
contenu de la cellule ' non cochées sans obtenir de résultat. Aucune
cellule
ne semble être problématique.
Aucune déclaration de NOM non plus. Et pourtant j'obtient toujours cette
erreur :
Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez-vous
utiliser cette version du nom ?"

Le seul truc qui semble pourtant cloché c'est ce fameux "_xlfn.COUNTIFS"
qui
s'affiche suite au lancement de ta macro (celle qui inscrit les NOM sur
une
nouvelle feuille) et qui n'est pas visible quand j'utiliser 'Gérer les
noms'). Je ne peux pas voir sur la feuille et encore moins supprimer.






"michdenis" a écrit dans le message de news:

à partir du menu : Rechercher /

tu inscris dans la case rechercher : xlfn

et dans les options, tu t'assures que :

Regarder dans "FORMULES"
et que les 2 cases
Respecter la casse et Totalité du contenu de la cellule
ne sont pas cochées.

Ceci va te permettre de retrouver une à une les cellules problématiques.
Et oui, tu peux trouver une formule équivalente avec la version en
cours.





"Gouap" a écrit dans le message de groupe de discussion
:
#
Salut michdenis,

Sur ce lien en français :
http://office.microsoft.com/fr-fr/excel/HA102045691036.aspx?pid=CH010004941036
J'ai cru comprendre que Excel ajoutait "_xlfn." devant chaqu'une des
fonctions non prise en charge dans la version d'Excel en cours
d'exécution.
C'est à partir de là que personnellement j'ai déduit que pour retrouver
cette fonction non prise en charge par la version courante d'Excel, je
devait rechercher soit "_xlfn." soit "COUNTIFS" puisque le message
d'erreur
fait état de "_xlfn.COUNTIFS " .
Si non je vois pas comment retrouver parmis toutes les formules de ma
feuille la fonction qui pose problème.
Si ce n'est pas ça alors que dois-je faire pour supprimer les fonctions
non
prises en charge pour pouvoir les remplacez-les par des fonctions prises
en
charge.



"michdenis" a écrit dans le message de news:

J'ai dit ça moi ?

| Si j'ai bien compris, je devrait retrouver une formule sur une
| de mes feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.

Je t'ai simplement proposé une adresse internet (désolé pour l'anglais)
qui explique ce qui se passe si tu ouvres avec une version antérieure à
2007,
un fichier créé avec Excel 2007 contenant des formules qui n'existent
pas
dans les versions précédentes. Cela explique la présence de ce "XLFN"
devant la fonction d'Excel 2007 COUNTIFS().

Je n'ai pas dit que "_xlfn.COUNTIFS" était un nom appartenant
à la collection "NAMES" du classeur, mais si c'était le cas, la seule
manière que je connaisse pour le supprimer serait d'utiliser ceci :
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete

Ta question originale disait :
"Car j'ai vu que si je supprime le nom "Mensualisation" il en
existe un autre qui prend sa place et qui a bien sûr une autre
référence."

Sans voir le fichier, je n'ai pas d'idée sur ce qui se passe dans ce
fichier.




ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
"Gouap" a écrit dans le message de groupe de discussion
:

Salut michdenis,

Si j'ai bien compris, je devrait retrouver une formule sur une de mes
feuilles, qui possèderait "_xlfn.COUNTIFS " à l'intérrieur.
Or quand je lance une recherche Excel ne me retrouvre rien de
similaire.
j'ai fait ma recherche sur le mot "COUNTIFS" et aussi sur "_xlfn", mais
je
n'obtiens pas de résultat.

Et quand j'exécute ta macro pour effacer le NOM "_xlfn.COUNTIFS",
j'obtien
une erreur car le nom n'est pas trouvé ou n'existe pas.
"erreur d'exécution 424, Objet requis"

As tu une autre idée pour m'aider d'avantage ?





"michdenis" a écrit dans le message de news:

Bonjour Gouap,

http://office.microsoft.com/en-us/excel/HA100778231033.aspx#Formula

À partir de cette adresse, tu peux lire ce qui arrive lorsque tu
ouvres
un fichier Excel 2007 avec une version précédente et que la fonction
n'existe pas dans les versions précédentes... et que les adresses font
références à des cellules inexistantes dans les versions précédentes :

Pour en revenir à ta question : Tu pourras à l'adresse mentionnée ceci
sur la présence de "xlfn"
'---------------------------------------------
One or more functions in this workbook are not available in earlier
versions of Excel.
When recalculated in earlier versions, these functions will return a
#NAME? error instead
of their current results. Excel 2007 provides the following functions
that
are not
available in earlier versions of Excel:
AVERAGEIF
AVERAGEIFS
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
COUNTIFS
IFERROR
SUMIFS
When you save the workbook in Excel 97-2003 file format, and open it
in
an
earlier version
of Excel, any new function will be displayed in the cell with _xlfn.
For
example,
=_xlfn.IFERROR (1,2).

In the Compatibility Checker, click Find to locate the cells that
contain
functions that
are new in Excel 2007, and then make the necessary changes to avoid
#NAME?
errors.
'---------------------------------------------

La question : "_xlfn.COUNTIFS =#NOM?" représente un nom dans ton
application.
En VBA, il est possible de créer un nom et de le rendre inaccessible
par
l'interface
de la feuille de calcul. Dans l'aide VBA, tu peux regarder la méthode
ADD de l'objet Name, il y a un paramètre "Visible" que l'on peut
mettre
à
Faux.

Pour savoir si tu peux le supprimer :
'-------------------------------------
Sub Test()
ThisWorkbooks.Names("_xlfn.COUNTIFS").Delete
End Sub
'-------------------------------------
Je ne connais pas d'autres méthodes de supprimer un nom en VBA


"Gouap" a écrit dans le message de groupe de
discussion
:
#
Je viens de lancer ta macro et j'ai pu vérifier que sur l'ensemble des
NOMS
je n'en ai plus de déclaré au niveau du Classeur. Par contra ta macro
met
en
évidence un nom que je n'ai pas déclaré et surtout que je n'arrive pas
a
supprimer car je ne le vois pas avec Excel.

IL s'appel :
_xlfn.COUNTIFS =#NOM?


C'est peut être lui qui pose problème....Comment faire pour le
supprimer
?


"michdenis" a écrit dans le message de news:

Pour lister tes "Noms", utilise cette macro :


'-----------------------------------
Sub test()
Dim N As Name, A As Integer
Dim Sh As Worksheet
Set Sh = ThisWorkbook.Worksheets.Add
With Sh
.Range("A1") = "Nom"
.Range("B1") = "Plage de cellules"
A = 1
For Each N In ThisWorkbook.Names
A = A + 1
.Range("A" & A) = N.Name
.Range("B" & A) = "'" & N.RefersToLocal
Next
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
End Sub
'-----------------------------------



"Gouap" a écrit dans le message de groupe de
discussion
:
e$
Je viens de vérifier l'ensemble des NOMS (avec Excel 2007) et aucun
NOM
n'est déclaré au niveau du classseur.
En fait il y en avait bien un appélé 'Tarif' que j'ai supprimé, mais
ce
n'est pas le NOM qui pose problème et me fait afficher le message
d'avertissement.

As tu une autre idée ?

"michdenis" a écrit dans le message de news:
%
| Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

Quand tu fais l'attribution d'un nom à une plage de cellules :
La différence entre les 2 : ce que tu dois saisir.
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

En principe, les noms devraient être définis "toujours" au niveau
de la feuille sauf ceux que l'on utilisera fréquemment à l'extérieur
de la feuille où ils ont été créés.






"Gouap" a écrit dans le message de groupe de
discussion
:
OPK$
Comment fait-on pour définir un NOM dans l'un ou l'autre Type ?

"michdenis" a écrit dans le message de news:

Bonjour Gouap,

Le NOM d'une plage nommée que tu définis au niveau du classeur
ne peut pas être utilisé pour plus d'une plage. Lorsque tu
construis
ta feuille, si tu sais que celle-ci va être reproduite, utilise
plutôt
des
plages nommées définies au niveau de la feuille. Tu n'éprouveras
pas
ce type de message!

La différence entre les 2 :
Plage au niveau du classeur : son nom : Denis
Plage au niveau de la feuille : Son Nom : Feuil1!Denis

Le nom au niveau du classeur peut être utilisé sur toutes les
feuilles du classeur en utilisant seulement "Denis " tandis que
dans le cas d'un nom défini au niveau de la feuille, si on veut
l'utiliser en dehors de la feuille où il a été créé, on doit le
faire
précéder toujours du nom de la feuille = Feuil1!Denis.

Le message que tu as reçu c'est pour t'aviser que sur la nouvelle
feuille (la copie), comme il ne peut y avoir 2 noms définis au
niveau
du classeur, la copie sera un nom (le même) mais défini au niveau
de la feuille.



"Gouap" a écrit dans le message de groupe de
discussion
:

Bonjour !

quand je copie les formules d'une feuille sur une autre, j'ai un
message
d'erreur qui s'affice et qui dit ceci :

Une formule ou une feuille que vous voulez déplacer contient le nom
"Mensualisation" qui éxiste déjà sur la feuille de destination.
Voulez
vous
utiliser cette version du nom ?"

Comment régler ce problème ?

Pour info dans ma feuille, j'ai une cinquantaine de noms qui ont
été
défini
et seul "Mensualisation" pose problème.

Est-il possible d'afficher l'ensemble des noms avec leurs
références
d'une
la feuille en clair sur une autre feuille pour chercher les erreur
potentielles ? Car j'ai vu que si je supprime le nom
"Mensualisation"
il
en
existe un autre qui prend sa place et qui a bien sûr une autre
référence.
























1 2