Soucis avec Target.Address

Le
Emile63
Bonjour a tous,

Comment puis-je "récupérer le "Nom" et non l'adresse d'une cellule
dans une proc. événementielle..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target.Address

..
Je vous remercie d'avance pour votre aide,
Cordialement,
Emile
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #18445461
Salut à toi

mets comme ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target

Celà devrait convenir
Dis moi !!!
Pounet95
Le #18445571
Bonjour,

Pour plus de sûreté, j'écrirais Target.Name
Suis pas certain que Target retourne le nom, mais à mon avis ce serait
plutôt la valeur ?

Pounet95

"FFO" news:
Salut à toi

mets comme ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target

Celà devrait convenir
Dis moi !!!



michdenis
Le #18445641
As-tu essayé quelque chose comme :


Private Sub Worksheet_Change(ByVal Target As Range)
For Each n In ThisWorkbook.Names
If Not Intersect(Range(n), Target) Is Nothing Then
MsgBox Target.Address & " est inclus dans " & _
"la plage ayant comme nom : " & Range(n).Name.Name & _
vbCrLf & " qui a comme étendue : " & Range(n).Address
End If
Next
End Sub




"Emile63"
Bonjour a tous,

Comment puis-je "récupérer le "Nom" et non l'adresse d'une cellule
dans une proc. événementielle..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target.Address

.....
Je vous remercie d'avance pour votre aide,
Cordialement,
Emile
Emile63
Le #18446201
On 21 ene, 11:34, Emile63
Bonjour a tous,

Comment puis-je "récupérer le "Nom" et non l'adresse d'une cellule
dans une proc. événementielle..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target.Address

.....
Je vous remercie d'avance pour votre aide,
Cordialement,
Emile



Merci a tous pour votre aide et vos solutions. ;-)

Celle qui a fonctionné (un mix. de l'ensemble) était la suivante:
MonNomCellule = Range(Target.Address).Name.Name


Très cordialement,
Emile
Pounet95
Le #18448431
........ euh, je crois que j'avais pas tout compris vu la solution :o(((((
Pounet95

"Emile63" news:
On 21 ene, 11:34, Emile63
Bonjour a tous,

Comment puis-je "récupérer le "Nom" et non l'adresse d'une cellule
dans une proc. événementielle..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target.Address

.....
Je vous remercie d'avance pour votre aide,
Cordialement,
Emile



Merci a tous pour votre aide et vos solutions. ;-)

Celle qui a fonctionné (un mix. de l'ensemble) était la suivante:
MonNomCellule = Range(Target.Address).Name.Name


Très cordialement,
Emile
Emile63
Le #18449161
On 21 ene, 11:34, Emile63
Bonjour a tous,

Comment puis-je "récupérer le "Nom" et non l'adresse d'une cellule
dans une proc. événementielle..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target.Address

.....


Re-bonjour a tous,

Heu.. J'ai encore des soucis... Avec ces Noms... Dans mes cellules..
Lorsque je modifie une cellule qui n'a pas de NOM, la procédure
événementielle se plante...
Je voudrais donc l'arrêter avec une petite condition [if], mais ça
marche pô.. :-(
--------------------------------------------------------------------------- ---------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
'
If (Range(Target.Address).Name.Name) Is Error Then End ' <-- ICI
MonNom = Range(Target.Address).Name.Name
'etc..
End Sub.
--------------------------------------------------------------------------- ---------

Si quelqu'un peut me mettre sur la voie ;-)
Je vous remercie d'avance pour votre aide,
Cordialement .
Emile
michdenis
Le #18450081
Tu sais maintenant pourquoi j'ai fait une boucle dans
le premier message que je t'ai envoyé sur ce fil !



"Emile63"
On 21 ene, 11:34, Emile63
Bonjour a tous,

Comment puis-je "récupérer le "Nom" et non l'adresse d'une cellule
dans une proc. événementielle..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target.Address

.....


Re-bonjour a tous,

Heu.. J'ai encore des soucis... Avec ces Noms... Dans mes cellules..
Lorsque je modifie une cellule qui n'a pas de NOM, la procédure
événementielle se plante...
Je voudrais donc l'arrêter avec une petite condition [if], mais ça
marche pô.. :-(
------------------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
'
If (Range(Target.Address).Name.Name) Is Error Then End ' <-- ICI
MonNom = Range(Target.Address).Name.Name
'etc..
End Sub.
------------------------------------------------------------------------------------

Si quelqu'un peut me mettre sur la voie ;-)
Je vous remercie d'avance pour votre aide,
Cordialement .
Emile
FFO
Le #18453271
Rebonjour à toi

Tu peux mettre ainsi :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
On Error Resume Next
MonNom = Range(Target.Address).Name.Name
If MonNom = "" Then
Exit Sub
End If
Code.....
End Sub

Celà devrait convenir
Dis moi !!!!
Emile63
Le #18453451
On 21 ene, 11:34, Emile63
Bonjour a tous,

Comment puis-je "récupérer le "Nom" et non l'adresse d'une cellule
dans une proc. événementielle..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MonNom As String
MonNom = Target.Address

.....
Je vous remercie d'avance pour votre aide,
Cordialement,
Emile



Bonjour a tous et merci pour votre aide et vos solutions.
Globalement si je place le "On Error resume next" au début, c'est
réglé avec un:
If MonNom = "" Then Exit Sub
Toutefois a des fin pédagogiques.. (Hi,hi,hi) je voudrais savoir s'il
existe une manière directe de traiter cette erreur.
Je veux dire, si j'enlève le : "On Error resume next" est ce que je
peux passer sans plantage avec un [if] de ce style?

If Range(Target.Address).Name.Name Is Empty Then End
If Range(Target.Address).Name.Name Is Null Then End
If Range(Target.Address).Name.Name Is Nothing Then End

Je ne comprends pas pourquoi il ne répond pas "VRAI" puisque [Range
(Target.Address).Name.Name] est vide..
Merci pour l'explication,
Cordialement,
Emile
michdenis
Le #18455021
Quand tu utilises ceci :
Range(Target.Address).Name.Name

Tu demandes à excel de te retourner la plage nommée (son nom)

Comment Excel peut-il évaluer ou qualifier quelque chose qui n'existe pas ?

Comme suggérer, c'est vrai que tu peux utiliser On error resume next
mais n'oublie de t'assurer que la suite de ta procédure fait du sens...
sinon prévoir une façon de mettre fin à l'exécution de la procédure.


Bonjour a tous et merci pour votre aide et vos solutions.
Globalement si je place le "On Error resume next" au début, c'est
réglé avec un:
If MonNom = "" Then Exit Sub
Toutefois a des fin pédagogiques.. (Hi,hi,hi) je voudrais savoir s'il
existe une manière directe de traiter cette erreur.
Je veux dire, si j'enlève le : "On Error resume next" est ce que je
peux passer sans plantage avec un [if] de ce style?

If Range(Target.Address).Name.Name Is Empty Then End
If Range(Target.Address).Name.Name Is Null Then End
If Range(Target.Address).Name.Name Is Nothing Then End

Je ne comprends pas pourquoi il ne répond pas "VRAI" puisque [Range
(Target.Address).Name.Name] est vide..
Merci pour l'explication,
Cordialement,
Emile
Publicité
Poster une réponse
Anonyme