Récupérer le nom d'une cellule
rbouricha
Messages postés
10
Statut
Membre
-
gégélabasse -
gégélabasse -
Bonjour,
je veux récupérer le nom d'une cellule! c simple je pense! j'ai cherché sur intenet, ils disent que je dois utiliser ".name.name" mais ça ne fonctionne pas. j cette erreur là : "Application-defined or object-defined error" "runtime error 1004"!
j'ai déja ouvert un workbook.
voici mon code:
Dim str As String
For Each sheet In ActiveWorkbook.Sheets
For Each cell In ActiveSheet.Cells
str = cell.name.name
MsgBox str
Next cell
Next sheet
j'ai cherché sur google avant de poder ma question mais j que le ".name.name"!!!
aidez-moi svp.c urgent
merci bcp.
je veux récupérer le nom d'une cellule! c simple je pense! j'ai cherché sur intenet, ils disent que je dois utiliser ".name.name" mais ça ne fonctionne pas. j cette erreur là : "Application-defined or object-defined error" "runtime error 1004"!
j'ai déja ouvert un workbook.
voici mon code:
Dim str As String
For Each sheet In ActiveWorkbook.Sheets
For Each cell In ActiveSheet.Cells
str = cell.name.name
MsgBox str
Next cell
Next sheet
j'ai cherché sur google avant de poder ma question mais j que le ".name.name"!!!
aidez-moi svp.c urgent
merci bcp.
A voir également:
- Récupérer le nom d'une cellule
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Recuperer le son d'une video - Guide
- Récupérer mon compte facebook désactivé - Guide
- Recuperer compte le bon coin avec numero de telephone - Forum Réseaux sociaux
3 réponses
Oui effectivement, ca marche pas.
Enfin ca provoque une erreur si la cellule n'a pas été nommée.
Et c'est bien :
La seule chose qu'il te reste à faire est donc de traiter l'erreur :
Enfin ca provoque une erreur si la cellule n'a pas été nommée.
Et c'est bien :
Range("A1").Name.Name
La seule chose qu'il te reste à faire est donc de traiter l'erreur :
Sub listeNames()
For Each cellule In ThisWorkbook.Sheets(1).Range("A1:A10").Cells
On Error Resume Next
MsgBox (cellule.Name.Name)
On Error GoTo 0
Next cellule
End Sub
La propriété Range("").Name.Name renvoie le nom d'un groupe de cellules.
Pour nommer un groupe de cellule, il faut :
- soit le sélectionner et entrer une valeur dans la "zone nom" (c'est la zone en haut à gauche de la barre de fonctions où se trouve en général l'adresse de la zone)
- soit le sélectionner et aller dans "Insertion/Nom/Définir" et entrer sa valeur.
Ainsi on peut récuperer cette zone avec la commande suivante :
Range("maZone") 'où maZone est le nom donnéNormalement, si il y a des cellules nommées, le code que j'ai posté tout a l'heure doit marcher.
Par contre, si les noms cherchés concernent plusieurs cellules groupées, la c'est différent...
On peut les lister avec cette fonction :
Sub listeZones() For Each nom In ActiveWorkbook.Names MsgBox ("zone[" & nom.Name & "] : " & Range(nom).Address) Next nom End SubDim cellule as Range Set cellule=Range("B2") MsgBox cellule.address 'affiche B2Si on répond, c'est que ca ne dérange pas ;)
Bon courage
Attention il faut borner par un guillemet la valeur réelle de cellule donc par exemple "B5:B6".
Uniquement dans le cas d'une cellule nommée (Menu: Insertion/Nom/Définir):
1) créez celluleNom pour définir B5:B6
2) MsgBox Range("B5:B6").Name retourne à l'identique à ci-dessus
3) MsgBox Range("B5:B6").Name.Name retourne celluleNom
Attention: Petit rappel pour la compréhension des néophites, ces exemples s'utilisent dans une macro en vba.
Comme il est précisé par ddez, il faudra traiter les erreurs.