Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule: figer le nom de la feuille

14 réponses
Avatar
Michel M
Bonjour,

J'ai un classeur avec 2 feuilles: données et résultats. Dans la feuille
résultats, j'ai des formules basées sur des données de la feuille données.
Mon problème est que si je modifie le nom de la feuille données, les
formules de la feuille résultats se modifient automatiquement.

Ma question: comment empêcher cela, c'est à dire figer les formules?
J'ai désactivé l'option calcul automatique, ça n'a rien changé.

Merci d'avance,

Michel M

10 réponses

1 2
Avatar
anonymousA
Bonjour,

ce comportement est absolument normal. Mais pourquoi souhaites-tu figer
la référence au nom de feuille sachant que si le nom de feuille
n'existe plus, Excel renverra #REF comme résultat ?

A+


Bonjour,

J'ai un classeur avec 2 feuilles: données et résultats. Dans la feuille
résultats, j'ai des formules basées sur des données de la feuille données.
Mon problème est que si je modifie le nom de la feuille données, les
formules de la feuille résultats se modifient automatiquement.

Ma question: comment empêcher cela, c'est à dire figer les formules?
J'ai désactivé l'option calcul automatique, ça n'a rien changé.

Merci d'avance,

Michel M


Avatar
Michel M
Bonjour,

ce comportement est absolument normal. Mais pourquoi souhaites-tu figer
la référence au nom de feuille sachant que si le nom de feuille
n'existe plus, Excel renverra #REF comme résultat ?

A+



Bonjour,

J'ai un classeur avec 2 feuilles: données et résultats. Dans la
feuille résultats, j'ai des formules basées sur des données de la
feuille données.
Mon problème est que si je modifie le nom de la feuille données, les
formules de la feuille résultats se modifient automatiquement.

Ma question: comment empêcher cela, c'est à dire figer les formules?
J'ai désactivé l'option calcul automatique, ça n'a rien changé.

Merci d'avance,

Michel M



En fait mes données proviennent d'une autre application. Chaque mois
elles 'annulent et remplacent' les données précédentes. Le problème est
que si je supprime la feuille obsolète et importe la nouvelle feuille
données, j'obtiens des #REF. Je pensais que la solution consiste à
rendre les formules invariantes, mais j'ignore si c'est possible.

Michel M


Avatar
Pounet95
Bonsoir,

Dans le module Thisworkbook du classeur
En imaginant que la Feuil1 a été renommée ....

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
If Sh.CodeName = "Feuil1" And Sh.Name <> "toto" Then
MsgBox "Changement de nom interdit !"
Sh.Name = "toto"
End If
End Sub



--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel M" a écrit dans le message de news:
ZXywf.97$
Bonjour,

J'ai un classeur avec 2 feuilles: données et résultats. Dans la feuille
résultats, j'ai des formules basées sur des données de la feuille données.
Mon problème est que si je modifie le nom de la feuille données, les
formules de la feuille résultats se modifient automatiquement.

Ma question: comment empêcher cela, c'est à dire figer les formules? J'ai
désactivé l'option calcul automatique, ça n'a rien changé.

Merci d'avance,

Michel M


Avatar
Michel M
Bonsoir,

Dans le module Thisworkbook du classeur
En imaginant que la Feuil1 a été renommée ....

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
If Sh.CodeName = "Feuil1" And Sh.Name <> "toto" Then
MsgBox "Changement de nom interdit !"
Sh.Name = "toto"
End If
End Sub



Ca permet effectivement de renommer automatiquement la feuille, mais par

contre n'empêche pas l'apparition des #REF dans les formules de la 2è
feuille...???

Avatar
Pounet95
Bonsoir,

Exact ! J'avais pas pensé à ça. Mais alors, y-a-t-il un moyen ?
Pourtant, sur un classeur tout neuf,
Feuil1 nommée "toto"
en A1 01/01/2006
recopie jusqu'à ligne 10 ( ça donne jusqu'au 10/01/2006 )
Feuil2
en A1 =toto!A1+31
recopie idem

renommer feuil1 de toto en tutu il n'y a pas les #REF ?????

Excel fait de la ségrégation dans les formules ?????

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel M" a écrit dans le message de news:
_xzwf.103$
Bonsoir,

Dans le module Thisworkbook du classeur
En imaginant que la Feuil1 a été renommée ....

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
If Sh.CodeName = "Feuil1" And Sh.Name <> "toto" Then
MsgBox "Changement de nom interdit !"
Sh.Name = "toto"
End If
End Sub



Ca permet effectivement de renommer automatiquement la feuille, mais par

contre n'empêche pas l'apparition des #REF dans les formules de la 2è
feuille...???



Avatar
Michel M
Bonsoir,

Exact ! J'avais pas pensé à ça. Mais alors, y-a-t-il un moyen ?
Pourtant, sur un classeur tout neuf,
Feuil1 nommée "toto"
en A1 01/01/2006
recopie jusqu'à ligne 10 ( ça donne jusqu'au 10/01/2006 )
Feuil2
en A1 =toto!A1+31
recopie idem

renommer feuil1 de toto en tutu il n'y a pas les #REF ?????

Excel fait de la ségrégation dans les formules ?????

Ce que j'aimerais, c'est pouvoir supprimer la feuille toto, en créer

une nouvelle, et que les formules présentes dans la 2è feuille
fonctionnnent sans #REF...Si les formules pouvaient être inscrites 'en
dur', sans aucune liaison, ça devrait marcher, mais comment ?

Avatar
Pounet95
Bonsoir,
Ah, le problème change quelque peu.
Comme ça, vite dit, j'aurais tendance à penser qu'une procédure en VBA
demandant le nom de la feuille à prendre en référence et écrivant les
formules
dans les cellules voulues de la feuille2 pourrait faire.

Quelque chose comme ça ( mettre dans un module standard )
A adapter LARGEMENT ( gestion des erreurs, etc )

Sub test()
rep = InputBox("Feuille référence ?")
If rep = "" Then Exit Sub

Sheets("Feuil2").Select
[A1].FormulaR1C1 = rep & "!A1+31"
[A1] = "=" & [A1]
End Sub

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Michel M" a écrit dans le message de news:
uZzwf.113$
Bonsoir,

Exact ! J'avais pas pensé à ça. Mais alors, y-a-t-il un moyen ?
Pourtant, sur un classeur tout neuf,
Feuil1 nommée "toto"
en A1 01/01/2006
recopie jusqu'à ligne 10 ( ça donne jusqu'au 10/01/2006 )
Feuil2
en A1 =toto!A1+31
recopie idem

renommer feuil1 de toto en tutu il n'y a pas les #REF ?????

Excel fait de la ségrégation dans les formules ?????

Ce que j'aimerais, c'est pouvoir supprimer la feuille toto, en créer une

nouvelle, et que les formules présentes dans la 2è feuille fonctionnnent
sans #REF...Si les formules pouvaient être inscrites 'en dur', sans aucune
liaison, ça devrait marcher, mais comment ?



Avatar
Michel M
Bonsoir,
Ah, le problème change quelque peu.
Comme ça, vite dit, j'aurais tendance à penser qu'une procédure en VBA
demandant le nom de la feuille à prendre en référence et écrivant les
formules
dans les cellules voulues de la feuille2 pourrait faire.

Quelque chose comme ça ( mettre dans un module standard )
A adapter LARGEMENT ( gestion des erreurs, etc )

Sub test()
rep = InputBox("Feuille référence ?")
If rep = "" Then Exit Sub

Sheets("Feuil2").Select
[A1].FormulaR1C1 = rep & "!A1+31"
[A1] = "=" & [A1]
End Sub

Ca m'a l'air très bien ceci. J'ai effectrué quelques tests simples,

c'est parfait.

Par contre, je suis un débutant, dès que ça se complique, désolé
d'exagérer...
J'ai tenté d'introduire la fonction RECHERCHEV, en vain
La syntaxe n'est apparemment pas bonne:

Sheets("Feuil2").Select
[B1].FormulaR1C1 = RECHERCHEV("A1";rep & "!A1:B2";0)

Comment dois-je m'y prendre? Merci d'avance.

Avatar
danielrv
bonjour,
Pourquoi ne pas insérer la nouvelle feuille, changer les formules avec le
nom de la nouvelle feuille, puis supprimer l'ancienne feuille.
Peut-être ???
Avatar
Michel M
bonjour,
Pourquoi ne pas insérer la nouvelle feuille, changer les formules avec le
nom de la nouvelle feuille, puis supprimer l'ancienne feuille.
Peut-être ???


Oui effectivement, ce serait la solution la plus simple, mais si je

pouvais trouver une solution plus 'clean', ce serait encore mieux...

1 2