OVH Cloud OVH Cloud

Nom Définir

2 réponses
Avatar
Starwing
Bonjour à tous,

Me voici, me voilà, Gruchot et Délicat...
Souvenir d'enfance...

Bon, Bon, voila mon petit problème...

J'ai créé une procédure qui me retrouve tous les noms définis d'un classeur,
par la suite elle les recopies dans la feuil1 de mon xla.
Dans la cellule A1 de la Feuil1 de mon xla, j'ai le "Nom"
Dans la cellule B1 de la Feuil1 de mon xla, j'ai la "Formule" qui est relié
au Nom, ainsi de suite,
Comme je rencontrais #Ref dans la cellule B1, je retranscris donc la formule
avec un " ' " tiret
pour ne plus rencontrer le problème.
Exemple, dans la cellule B2 de mon xla, je visualise maintenant:
'=Exemple!A1 au lieu de #Ref
"Je ne suis pas certain que ce soit une bonne idéé...mais enfin...je fait ce
que je peux."

Une fois la procédure de mon module terminer, j'aimerais remettre les noms
définis et leur formule
dans le classeur où je les ai enlevé. Là je plante à tout les coups!
Ou bien ça me retranscris bien les Noms définis de mon xla vers le classeur,
mais avec une
mauvaise formule ou bien j'obtiens rien. Probablement causé par ce fameux
tiret " ' ".

Y'a-t-il quelqu'un dans cet avion...( Autre souvenir d'enfance...) qui peut
me venir en aide?


Merci beaucoup!

Starwing

2 réponses

Avatar
michdenis
Bonjour Starwing,

Si tu utilises ceci pour placer le nom et sa référence dans ton classeur xla, tu ne devrais avoir aucun problème à les
recopier dans un autre classeur. Le "Truc" est de mettre ta plage de cellule au format texte.


'-------------------
Sub CopieVersXla()

Dim Sh As Worksheet, B As Integer, N As Name
Set Sh = Workbooks("Fichier.xla").Worksheets(1)

With Sh
.Columns("A:B").NumberFormat = "@"
End With

For Each N In ThisWorkbook.Names
B = B + 1
With Sh
.Range("A" & B) = N.Name
.Range("B" & B) = N.RefersTo
End With
Next

Set Sh = Nothing
End Sub
'-------------------


Salutations!



"Starwing" a écrit dans le message de news: OQ$
Bonjour à tous,

Me voici, me voilà, Gruchot et Délicat...
Souvenir d'enfance...

Bon, Bon, voila mon petit problème...

J'ai créé une procédure qui me retrouve tous les noms définis d'un classeur,
par la suite elle les recopies dans la feuil1 de mon xla.
Dans la cellule A1 de la Feuil1 de mon xla, j'ai le "Nom"
Dans la cellule B1 de la Feuil1 de mon xla, j'ai la "Formule" qui est relié
au Nom, ainsi de suite,
Comme je rencontrais #Ref dans la cellule B1, je retranscris donc la formule
avec un " ' " tiret
pour ne plus rencontrer le problème.
Exemple, dans la cellule B2 de mon xla, je visualise maintenant:
'=Exemple!A1 au lieu de #Ref
"Je ne suis pas certain que ce soit une bonne idéé...mais enfin...je fait ce
que je peux."

Une fois la procédure de mon module terminer, j'aimerais remettre les noms
définis et leur formule
dans le classeur où je les ai enlevé. Là je plante à tout les coups!
Ou bien ça me retranscris bien les Noms définis de mon xla vers le classeur,
mais avec une
mauvaise formule ou bien j'obtiens rien. Probablement causé par ce fameux
tiret " ' ".

Y'a-t-il quelqu'un dans cet avion...( Autre souvenir d'enfance...) qui peut
me venir en aide?


Merci beaucoup!

Starwing
Avatar
Starwing
WoW!!

Bonne idée mon michdenis, je n'avais pas pensé à cette solution.

Je rentre chez moi et je vais l'esayer.

Je te redonne des nouvelles sans faute.

Starwing
"michdenis" a écrit dans le message de
news:
Bonjour Starwing,

Si tu utilises ceci pour placer le nom et sa référence dans ton classeur
xla, tu ne devrais avoir aucun problème à les

recopier dans un autre classeur. Le "Truc" est de mettre ta plage de
cellule au format texte.



'-------------------
Sub CopieVersXla()

Dim Sh As Worksheet, B As Integer, N As Name
Set Sh = Workbooks("Fichier.xla").Worksheets(1)

With Sh
.Columns("A:B").NumberFormat = "@"
End With

For Each N In ThisWorkbook.Names
B = B + 1
With Sh
.Range("A" & B) = N.Name
.Range("B" & B) = N.RefersTo
End With
Next

Set Sh = Nothing
End Sub
'-------------------


Salutations!



"Starwing" a écrit dans le message de news:
OQ$

Bonjour à tous,

Me voici, me voilà, Gruchot et Délicat...
Souvenir d'enfance...

Bon, Bon, voila mon petit problème...

J'ai créé une procédure qui me retrouve tous les noms définis d'un
classeur,

par la suite elle les recopies dans la feuil1 de mon xla.
Dans la cellule A1 de la Feuil1 de mon xla, j'ai le "Nom"
Dans la cellule B1 de la Feuil1 de mon xla, j'ai la "Formule" qui est
relié

au Nom, ainsi de suite,
Comme je rencontrais #Ref dans la cellule B1, je retranscris donc la
formule

avec un " ' " tiret
pour ne plus rencontrer le problème.
Exemple, dans la cellule B2 de mon xla, je visualise maintenant:
'=Exemple!A1 au lieu de #Ref
"Je ne suis pas certain que ce soit une bonne idéé...mais enfin...je fait
ce

que je peux."

Une fois la procédure de mon module terminer, j'aimerais remettre les noms
définis et leur formule
dans le classeur où je les ai enlevé. Là je plante à tout les coups!
Ou bien ça me retranscris bien les Noms définis de mon xla vers le
classeur,

mais avec une
mauvaise formule ou bien j'obtiens rien. Probablement causé par ce fameux
tiret " ' ".

Y'a-t-il quelqu'un dans cet avion...( Autre souvenir d'enfance...) qui
peut

me venir en aide?


Merci beaucoup!

Starwing