Récupérer dans une feuille le nom d'une cellule

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 !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous.

Mon problème n'est pas bien compliqué. Comme il est stipulé dans le titre, je voudrais récupérer dans une feuille le nom d'une cellule.

L'exemple ci-joint sera nettement plus parlant.

Merci d'avance.
 

Pièces jointes

Re : Récupérer dans une feuille le nom d'une cellule

Salut Magic_Doctor, Philippe 🙂, le Forum

Peut-être comme cela

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim C
    For Each C In Range("D7,D9,D11,D13")
        If C = "" Then Range("D3").Value = C.Name.Name
    Next C
End Sub

EDITION: Même remarque que Philippe pour les cellules Fusionnées 🙄

Bonne Journée
 

Pièces jointes

Dernière édition:
Re : Récupérer dans une feuille le nom d'une cellule

Bonjour Magic_Doctor, phlaurent55, Dull 🙂,
J'en était là, mais Dull fut plus rapide 😛,
Code:
Sub Test()
Dim derlig
Derligne = Range("D" & Application.Rows.Count).End(xlUp).Row
For i = 1 To Derligne
    If Cells(i, 3).Value = 1 Then
        Cells(3, 4) = Cells(i, 4).Name.Name
        Exit For
    End If
Next i
End Sub
Cordialement
Edit Comme je m'appuie sur les "1", je n'ai pas de problème de fusion.
 

Pièces jointes

Dernière édition:
Re : Récupérer dans une feuille le nom d'une cellule

Merci phlaurent55 & Dull pour vos solutions.

Effectivement, j'aurais dû mettre en exergue qu'une cellule était fusionnée.
Pour des raisons impératives de présentations, il ne peut en être autrement. La cellule doit rester fusionnée et c'est bien là le problème.
 
Re : Récupérer dans une feuille le nom d'une cellule

Bonjour Efgé, effectivement nos posts se sont croisés.

Ta solution fonctionne très bien, mais voilà, je voudrais y faire une petite modification.
Pour des raisons, disons, ergonomiques, j'aime bien nommer tout ce qui doit figurer dans une macro, afin, si l'occasion se présente et que l'on fasse des modifications dans la feuille, de ne pas avoir à sempiternellement retourner dans la macro pour y faire aussi des modifications. Si je nomme la cellule "A1" "zaza", quelque modification que je fasse par la suite, ma cellule sera toujours reconnue dans ma macro, bien qu'elle soit, par ex., devenue "J27".

Supposons que le "tronçon" de colonne "D" où de font les saisies s'appelle : "Dil1CellStrategique1"
Comment alors modifier ta macro en conséquence :

Sub Test1()
Dim derlig
Derligne = Range("D" & Application.Rows.Count).End(xlUp).Row

'jai essayé ceci à la hussarde:
'Derligne = Range("Dil1CellStrategique1" & Application.Rows.Count).End(xlUp).Row
'---> Échec lamentable

For i = 1 To Derligne
If Cells(i, 3).Value = 1 Then
Cells(3, 4) = Cells(i, 4).Name.Name
Exit For
End If
Next i
End Sub

Enfin, comment récupérer les valeurs "3" (3ème colonne) et "4" (4ème colonne) ?
Connaissant le nom de la 1ère cellule de saisies, je pense qu'avec un offset on devrait y arriver.

De toutes façons, encore merci pour ton aide fructueuse.
 

Pièces jointes

Re : Récupérer dans une feuille le nom d'une cellule

Bonjour pierrejean,

Je viens à l'instant de lire ton post, et ta solution me satisfait pleinement, bien que je n'ai pas compris grand-chose.

1/ Passer par une fonction, je n'y aurais jamais pensé.
2/ Que signifie exactement "Application.Volatile" ?
3/ Ceci n'est qu'un fragment de la feuille définitive. Au-dessous il y aura d'autres choses. Ne risque-t-il pas d'y avoir interférences ? Je pense que non, mais j'en profite pour te poser la question.
4/ En "bon élève" j'ai déclaré les variables.

En tout cas, muchas gracias y muy buen fin de tarde.
 

Pièces jointes

Re : Récupérer dans une feuille le nom d'une cellule

Re
1) Application Volatile signale a Excel que cette fonction doit etre recalculée en cas modification dans la feuille
2) A priori la fonction ne devrait pas etre affectée s'il y a quelque chose en dessous
3) Cela ne peut pas faire de mal !!
 
Dernière édition:
Re : Récupérer dans une feuille le nom d'une cellule

Re à tous, Bonjour pierrejean,
Pour mieux "coler" aux précisions de Magic_Doctor (utilisation des noms dans le code).
Une nouvelle version, sans bouton. La limite est qu'il ne faut pas découpler la zone "Dil1CellStrategique2" (c6 : c13) de la liste (D6 ; D 13).
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("Résultat") = ""
For Each C In Range("Dil1CellStrategique2")
    If C = "1" Then
        Range("Résultat") = C.Offset(0, 1).Name.Name
        Exit For
    End If
Next
End Sub
Voir pièce jointe (.ZIP 😉 )
Cordialement
 

Pièces jointes

- 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

Discussions similaires

Réponses
10
Affichages
384
Retour