Récupérer le nom de la cellule qui déclenche une macro événementielle

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
Bonsoir,

J'ai une macro événementielle qui se déclenche quant on clique 2 fois sur certaines cellules :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomCel as String
If Not Application.Intersect(Target, Union([Sigma1], [Sigma2], [Sigma3])) Is Nothing Then

'je voudrais que la variable "NomCel" récupère le nom de la cellule sur laquelle on vient de double-cliquer. Par ex. si j'ai double-cliqué sur Sigma2 ---> NomCel = Sigma2

'j'ai bien essayé avec : NomCel = Target.Name, mais ça n'a pas marché...


Merci pour l'aide.
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

Bonsoir Magic_Doctor, bonsoir à toutes et à tous 🙂

Envoyé par Magic_Doctor
J'ai une macro événementielle qui se déclenche quant on clique 2 fois sur certaines cellules :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomCel as String
If Not Application.Intersect(Target, Union([Sigma1], [Sigma2], [Sigma3])) Is Nothing Then

'je voudrais que la variable "NomCel" récupère le nom de la cellule sur laquelle on vient de double-cliquer. Par ex. si j'ai double-cliqué sur Sigma2 ---> NomCel = Sigma2

'j'ai bien essayé avec : NomCel = Target.Name, mais ça n'a pas marché...

Si tu as donné un nom à cette unique cellule, l'instruction :

Target.Name.Name

te donneras son nom.

Par contre il faudrait faire plus de tests si ta cellule fait partie d'un groupe de cellules portant un nom particulier (une plage par exemple).

Dis-nous si cela te suffit, sinon, on cherchera d'autres méthodes 🙂

@+
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

Re 🙂

A mon avis, il nous faut un peu plus d'infos, comme je le disais lors de mon précédent post :

1) le nom ne contient-il qu'une cellule ?
2) si non, comment sont entrées les références de cellules (références absolues, ligne absolue et colonne relative, ligne relative et colonne absolue ou encore ligne et colonne relatives ?)

A moins que quelqu'un d'autre ait moyen de faire plus simple (et je n'en doute pas 🙂 )

@+
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

Re Magic, bonsoir Nolich

une autre solution, que la plage nommée comporte une ou plusieurs cellules :

Code:
Dim n As Name
For Each n In ThisWorkbook.Names
If Not Intersect(Target, n.RefersToRange) Is Nothing Then
    MsgBox n.RefersToRange.Name.Name
    Exit For
End If
Next n

bonne soirée
@+
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

Bonsoir et merci de votre aide,

Il ne s'agit pas d'une plage de cellules contiguës, mais de cellules, TOUTES NOMMÉES, éparpillées dans la feuille. Chaque nom correspond à une seule cellule. Quant aux références, elles sont forcément absolues, puisque les cellules sont nommées.

Si je clique 2 fois sur l'une de ces cellules, la macro événementielle fonctionne parfaitement.
Seulement, je voudrais maintenant que la macro récupère le nom de la cellule sur laquelle j'ai cliqué 2 fois.

En somme : 3 cellules éparses qui se nomment : Sigma1, Sigma2, Sigma3.

Je double-clique sur Sigma3, la macro se déclenche, mais pour finir certaines opérations a besoin du nom de cette cellule, autrement dit "Sigma3".

J'ai bien essayé la solution de nolich : Target.Name.Name, mais ça n'a pas marché.
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

Salut le forum

Pourtant ca fonctionne bien avec se code.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomCel As String
If Not Application.Intersect(Target, Union([Sigma1], [Sigma2], [Sigma3])) Is Nothing Then
NomCel = Target.Name.Name
End If
MsgBox NomCel
End Sub
Mytå
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

Je ne comprends pas, à chaque fois apparaît un message d'erreur :
Erreur '1004' dans le temps d'exécution
Erreur définie par l'application ou l'objet (traduit de l'espagnol)
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

re Magic_doctor, bonsoir Pierrot, Mytå et skoobi, bonsoir à toutes et à tous 🙂

Skoobi a raison, un fichier exemple nous permettrait de t'aider plus efficacement car, pour l'instant, on nage dans le brouillard 🙄

@+
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

Vous avez tout à fait raison.

Dans la mesure du possible j'adresse toujours un fichier. Le problème est qu'il dépasse largement les 48 Ko auxquels on a droit.
Aussi vous pouvez toujours récupérer ce classeur sur le lien suivante :

Lien : http://cjoint.com/?gAvcqeFuLv

et, éventuellement adresser vos corrections sur un nouveau lien en passant par :

Cjoint : Accueil de Cjoint.com


Dans le fichier zippé il y a le classeur + un fichier pdf dans lequel j'explique la finalité du projet et son maniement.
Plusieurs problèmes (je pense relativement simples à résoudre pour ceux qui connaissent mieux Excel et VBA que moi) sont exposés.

Le problème lancé sur ce fil est un problème à part.
Il se situe dans le module "Hoja2 (Enero)" dans la dernière macro.

Merci d'avance pour l'aide.
 
Re : Récupérer le nom de la cellule qui déclenche une macro événementielle

Je vient d'essayer votre solution sur un classeur à part. Ça marche très bien.

Il doit donc y avoir quelque chose dans mon classeur qui interfère sur le bon fonctionnement de la macro...
 
- 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

Retour