Affectation de champs nommés en relatif

  • Initiateur de la discussion Initiateur de la discussion Roméo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

Roméo

Guest
Bonjour,

Je suis un grand adepte des champs nommés pour mes reporting.

Cependant je voudrais savoir comment (et si c est possible) que les champs nommés d'une cellule se crééent de façon relatif par rapport au libéllé de une ou plusieurs cellules.

Exemple :

Je mets "607" en B4 et "AN" en E2, je voudrais que le champs nommés de la cellule E5 soit donc _607_AN. Ce champs doit changer si je change de valeur en B4 par exemple et que je mets 608 : il devient _607_AN

Merci de vos réponses.

Roméo
 
Salut Roméo,

Je sais qu'il se fait tard, mais ne pourrais-tu pas reformuler ta question pour qu'elle soit compréhensible ?
Tu veux changer le nom d'un champ, ... et il ne change pas !

Et quel en est le but final, peut-être il y a-t-il une solution plus simple ?

Mieux encore, donne un petit exemple.

Ândré.
 
Re le forum
Bonjour Ândré, re bonjour Roméo

Scuzi Ândré (comme disent les grands de ce forum "Pas frais". Moi aussi un jour je serais grands comme eux si je bois bien ma soupe, c'est ma maman qui me l'a dit ....lol).

@ ++ Eric C
 
Salut Roméo, salut le forum,

Une macro à placer dans la feuille où tu veux qu'elle agisse. Copie le code ci-dessous, clique avec le bouton droit de la souris dans l'onglet de la feuille désirée, et choisis Visualiser le code. Tu te retrouves dans Visual Basic Editor. Colle le code. Revient à Excel avec [Alt]+[F11].
Cette macro agira chaque fois que tu changeras de valeur en B4 ou en E2.

Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement
'condition : la cellule changée est B4 ou E2
If Target.Address = "$B$4" Or Target.Address = "$E$2" Then
Dim nom As String 'déclare la variable nom
'définit la varaible nom
nom = "_" & Range("B4").Value & "_" & Range("E2")
'efface le nom actuel de la cellule E5
On Error Resume Next 'empêche le bug si il n'y a pas de nom
Range("E5").Name.Delete
'attribut le nouveau nom à E5
ActiveWorkbook.Names.Add Name:=nom, RefersToR1C1:="=Feuil1!R5C5"
End If 'fin condition
End Sub

À plus,

Robert
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
410
Retour