Bonjour,
Le titre du post résume assez bien la situtation.
J'ai nommé ma cellule "Prenom".
Y-aurait-il un moyen pour récupérer le nom de ma cellule comme on récupère le nom d'un onglet par exemple.
Merci d'avace pour votre aide.
Marsup.
Version imprimable
Bonjour,
Le titre du post résume assez bien la situtation.
J'ai nommé ma cellule "Prenom".
Y-aurait-il un moyen pour récupérer le nom de ma cellule comme on récupère le nom d'un onglet par exemple.
Merci d'avace pour votre aide.
Marsup.
ben le récupérer à partir de quoi ce nom ..?
voir peu être la collection Names..
En fait j'ai renommé ma cellule A6 par "Prénom".
Comme ma feuille peut être amené à modifier, je recherche le nom de ma cellule.
Pour récupérer le nom du classeur
Pour un ongletCode:
1
2 Workbook.name
Et pour une cellule, je pensais qu'il y aurait un truc du genreCode:
1
2 Worksheets.name
Mais ce ne marche pas :cry:Code:
1
2 Cells(1,1).name
?..
Code:
1
2 msgbox Range("A6").Name.Name
Erreur définie par l'application ou par l'objetCitation:
Envoyé par bbil
Hello,
C'est que A6 n'a pas de nom ou bien que le nom est associé à plus d'une cellule, sinon ça marche parfaitement.
Bonjour, en effet ca marche lorsque le nom d'une cellule existe mais ca plante quand il n'existe pas.
N'y aurait il pas de solution du genre
Code:
1
2 If Isnull(Range("A" & i).Name.Name then
Alors fais un test sur l'adresse de la cellule... si tu la connais... sinon, gère l'erreur
Code:
1
2
3 On error resume next msgbox Range("A6").Name.Name if err <> 0 then exit sub
Vaut mieux pas qu'il fasse un Exit sub s'il rencontre une rreur, car a priori il veux fair eune boucle dessus :aie: donc vaut peut etre mieux mettre un resume NExt Non ?
En fait, il fera bien ce qu'il veut, ce n'était que le principe que je mettais là ;)
Voila le code que j'ai réalisé.
Le problème c'est qu'il trouve tjs une erreur alors que pour i=8, il devrait passer dans le else
Code:
1
2
3
4
5
6
7
8
9
10 On Error Resume Next While Worksheets(Nom_Ancien).Range("A" & i).Name.Name <> "Prénom" If Err <> 0 Then i = i + 1 Else MsgBox ("pas d'erreur : ligne : " & i) End If Wend
Hello,
je peux savoir à quoi te sert cette boucle ?
A sert à chercher le nom ! :mouarf: qui on le sait tous est en A8 :mouarf:
Une question : Tu initialises bien i avant d'entrer dans la boucle ? :aie:
:mouarf: certes, mais j'ai peur qu'il y ait un moyen plus simple d'accéder à une cellule par son nom ...Citation:
Envoyé par ouskel'n'or
Allez, j'ai une solution, tu en feras ce que tu voudras
A placer dans la feuille de code de la feuille de calculs contenant les noms -> Editeur VB -> Deux clics sur le nom de la feuille ouvrent la feuille de code dans laquelle placer cette macroCode:
1
2
3
4
5 Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next MsgBox Target.Name.Name Err.Clear 'pense pas que ce soit indispensable mais ça ne coûte rien ^^ End Sub
A+
marsupilami34, tu sais que le nom de la cellule s'inscrit en haut et à gauche de la feuille de calcul :mouarf:
Pour répondre à ta question, j'ai une fichier Excel qu'on envoie à plus de 300 personnes. Lorsqu'une modification s'ajoute dans ce fichier, on revoit à ces 300 personnes le nouveau fichier. Ce nouveau fichier fait appel à l'ancien et copie les données de l'ancien vers le nouveau. Ceci afin d'éviter à l'utilsateur un travail de mise à jour de son fichier trop important.Citation:
Envoyé par cafeine
En ce qui concerne ma boucle, je recherche dans mon onglet la ligne à partir de laquelle je commence à faire la copie (c'est à dire là ou ma cellule se nomme "prénom").
Comme d'une version à l'autre ma celulle "Prénom" est décallée (et pas forcément de 1 ligne -Oui on rajoute en général un ligne pour marqué la version et les modifs apportées-), je cherche donc la cellule qui s'appelle "Prénom" dans ma colonne A.
Voila, en gros l'utilité de la boucle.
Bon, il y a peut être plus simple, je ne sais pas. Mais toutes idées seront les bienvenues.
Oui bien sur ;)Citation:
Envoyé par ouskel’n’or
Hello,
Oui beaucoup plus simple, il aurait peut être fallu commencer par ça (d'où ma question ;) )
essaie :
Code:
1
2
3 MsgBox Range("Prénom").Row MsgBox Range("Prénom").Address
Y a t il possibilité de ne pas passer pas un Msgbox ?
... oui .. la message box n'est la que comme un exemple d'utilisation ...!Citation:
Envoyé par marsupilami34