En + ta formule fonctionnera aussi avec laversion 2007, dont le nb de
En + ta formule fonctionnera aussi avec laversion 2007, dont le nb de
En + ta formule fonctionnera aussi avec laversion 2007, dont le nb de
hello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" a écrit dans le message de news:
%re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9^9)&ADRESSE(LIGNE();COLONNE())
isabelleMerci, pour la réponse super rapide mais ce n'est pas tout à fait le
résultat que j'attendais. En effet, cette fonction renvoie les infos sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différentes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelleBonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années que je
cherche (Google et autres, spécialistes/développeurs Excel,...), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.
hello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" <iii@iii> a écrit dans le message de news:
%232NHuzM4GHA.4972@TK2MSFTNGP03.phx.gbl...
re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9^9)&ADRESSE(LIGNE();COLONNE())
isabelle
Merci, pour la réponse super rapide mais ce n'est pas tout à fait le
résultat que j'attendais. En effet, cette fonction renvoie les infos sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différentes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -
bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelle
Bonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années que je
cherche (Google et autres, spécialistes/développeurs Excel,...), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.
hello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" a écrit dans le message de news:
%re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9^9)&ADRESSE(LIGNE();COLONNE())
isabelleMerci, pour la réponse super rapide mais ce n'est pas tout à fait le
résultat que j'attendais. En effet, cette fonction renvoie les infos sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différentes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelleBonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années que je
cherche (Google et autres, spécialistes/développeurs Excel,...), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.
Bonjour,
ma suggestion semple s'être perdue sauf sur google,
Amha Isabelle était dans le bon
il faut garder le volatile et simplement utiliser caller plutôt que
activecell:
Function lacell()
Application.Volatile
lacell = ActiveSheet.Name & " " & Application.Caller.Address
End Function
(NSP si caller est aussi dispo sur MAC?)
Salutations.
lSteph
"Michel Gaboly" a écrit dans le message de news:
%
Bonsoir Paul,
Cela ne marche pas dans tous les cas : si tu sélectionnes plusieurs c ellules
à la fois, et que tu entres la formule en
une seule fois dans la sélection, tu n'auras pas le bon résultat. I dem en
cas de Recopier vers le bas, vers la droite, ...
En effet la cellule active ne correspond qu'à l'une des celllules
concernées.
Quant à la dernière proposition d'Isabelle :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;99) &ADRESSE(LIGNE();COLONNE())
Elle ne fonctionne pas sur un document non encore enregistré.
Voici donc ce que je propose :
Si on n'utilise que les 26 premières colonnes d'une feuille :
ÊR(COLONNE() + 64) & LIGNE()
CAR() renvoie le caractère correspondant au code ASCII indiqué. "A" pour
code 65, puis "B" pour 66, ...
Toutefois, pour avoir une formule qui marche quelle que soit la cellule , il
faut tenir compte qu'à partir de la 27ème
colonne, les références comportent 2 lettres :
=SI(COLONNE() > 26;CAR(ENT(COLONNE() / 26 + 64));"") & CAR(MOD(COLONN E() -
1;26) + 1 + 64) & LIGNE()
Pour répondre + précisément à la demande initiale, on peut dé finir le nom
"NomCellule", comme se référant à la formule
ci-dessus, et ensuite utiliser :
=NomCellulehello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" a écrit dans le message de news:
%re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9 ^9)&ADRESSE(LIGNE();COLONNE())
isabelleMerci, pour la réponse super rapide mais ce n'est pas tout à fai t le
résultat que j'attendais. En effet, cette fonction renvoie les inf os sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différ entes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelleBonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années q ue je
cherche (Google et autres, spécialistes/développeurs Excel,... ), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.
Bonjour,
ma suggestion semple s'être perdue sauf sur google,
Amha Isabelle était dans le bon
il faut garder le volatile et simplement utiliser caller plutôt que
activecell:
Function lacell()
Application.Volatile
lacell = ActiveSheet.Name & " " & Application.Caller.Address
End Function
(NSP si caller est aussi dispo sur MAC?)
Salutations.
lSteph
"Michel Gaboly" <michelgaboly@bluewin.ch> a écrit dans le message de news:
%23juscdN4GHA.988@TK2MSFTNGP02.phx.gbl...
Bonsoir Paul,
Cela ne marche pas dans tous les cas : si tu sélectionnes plusieurs c ellules
à la fois, et que tu entres la formule en
une seule fois dans la sélection, tu n'auras pas le bon résultat. I dem en
cas de Recopier vers le bas, vers la droite, ...
En effet la cellule active ne correspond qu'à l'une des celllules
concernées.
Quant à la dernière proposition d'Isabelle :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;99) &ADRESSE(LIGNE();COLONNE())
Elle ne fonctionne pas sur un document non encore enregistré.
Voici donc ce que je propose :
Si on n'utilise que les 26 premières colonnes d'une feuille :
=CAR(COLONNE() + 64) & LIGNE()
CAR() renvoie le caractère correspondant au code ASCII indiqué. "A" pour
code 65, puis "B" pour 66, ...
Toutefois, pour avoir une formule qui marche quelle que soit la cellule , il
faut tenir compte qu'à partir de la 27ème
colonne, les références comportent 2 lettres :
=SI(COLONNE() > 26;CAR(ENT(COLONNE() / 26 + 64));"") & CAR(MOD(COLONN E() -
1;26) + 1 + 64) & LIGNE()
Pour répondre + précisément à la demande initiale, on peut dé finir le nom
"NomCellule", comme se référant à la formule
ci-dessus, et ensuite utiliser :
=NomCellule
hello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" <iii@iii> a écrit dans le message de news:
%232NHuzM4GHA.4972@TK2MSFTNGP03.phx.gbl...
re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9 ^9)&ADRESSE(LIGNE();COLONNE())
isabelle
Merci, pour la réponse super rapide mais ce n'est pas tout à fai t le
résultat que j'attendais. En effet, cette fonction renvoie les inf os sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différ entes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -
bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelle
Bonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années q ue je
cherche (Google et autres, spécialistes/développeurs Excel,... ), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.
Bonjour,
ma suggestion semple s'être perdue sauf sur google,
Amha Isabelle était dans le bon
il faut garder le volatile et simplement utiliser caller plutôt que
activecell:
Function lacell()
Application.Volatile
lacell = ActiveSheet.Name & " " & Application.Caller.Address
End Function
(NSP si caller est aussi dispo sur MAC?)
Salutations.
lSteph
"Michel Gaboly" a écrit dans le message de news:
%
Bonsoir Paul,
Cela ne marche pas dans tous les cas : si tu sélectionnes plusieurs c ellules
à la fois, et que tu entres la formule en
une seule fois dans la sélection, tu n'auras pas le bon résultat. I dem en
cas de Recopier vers le bas, vers la droite, ...
En effet la cellule active ne correspond qu'à l'une des celllules
concernées.
Quant à la dernière proposition d'Isabelle :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;99) &ADRESSE(LIGNE();COLONNE())
Elle ne fonctionne pas sur un document non encore enregistré.
Voici donc ce que je propose :
Si on n'utilise que les 26 premières colonnes d'une feuille :
ÊR(COLONNE() + 64) & LIGNE()
CAR() renvoie le caractère correspondant au code ASCII indiqué. "A" pour
code 65, puis "B" pour 66, ...
Toutefois, pour avoir une formule qui marche quelle que soit la cellule , il
faut tenir compte qu'à partir de la 27ème
colonne, les références comportent 2 lettres :
=SI(COLONNE() > 26;CAR(ENT(COLONNE() / 26 + 64));"") & CAR(MOD(COLONN E() -
1;26) + 1 + 64) & LIGNE()
Pour répondre + précisément à la demande initiale, on peut dé finir le nom
"NomCellule", comme se référant à la formule
ci-dessus, et ensuite utiliser :
=NomCellulehello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" a écrit dans le message de news:
%re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9 ^9)&ADRESSE(LIGNE();COLONNE())
isabelleMerci, pour la réponse super rapide mais ce n'est pas tout à fai t le
résultat que j'attendais. En effet, cette fonction renvoie les inf os sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différ entes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelleBonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années q ue je
cherche (Google et autres, spécialistes/développeurs Excel,... ), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.
Bonjour,
ma suggestion semple s'être perdue sauf sur google,
Amha Isabelle était dans le bon
il faut garder le volatile et simplement utiliser caller plutôt que
activecell:
Function lacell()
Application.Volatile
lacell = ActiveSheet.Name & " " & Application.Caller.Address
End Function
(NSP si caller est aussi dispo sur MAC?)
Salutations.
lSteph
"Michel Gaboly" a écrit dans le message de news:
%
Bonsoir Paul,
Cela ne marche pas dans tous les cas : si tu sélectionnes plusieurs cellules
à la fois, et que tu entres la formule en
une seule fois dans la sélection, tu n'auras pas le bon résultat. Idem en
cas de Recopier vers le bas, vers la droite, ...
En effet la cellule active ne correspond qu'à l'une des celllules
concernées.
Quant à la dernière proposition d'Isabelle :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;99)&ADRESSE(LIGNE();COLONNE())
Elle ne fonctionne pas sur un document non encore enregistré.
Voici donc ce que je propose :
Si on n'utilise que les 26 premières colonnes d'une feuille :
ÊR(COLONNE() + 64) & LIGNE()
CAR() renvoie le caractère correspondant au code ASCII indiqué. "A" pour
code 65, puis "B" pour 66, ...
Toutefois, pour avoir une formule qui marche quelle que soit la cellule, il
faut tenir compte qu'à partir de la 27ème
colonne, les références comportent 2 lettres :
=SI(COLONNE() > 26;CAR(ENT(COLONNE() / 26 + 64));"") & CAR(MOD(COLONNE() -
1;26) + 1 + 64) & LIGNE()
Pour répondre + précisément à la demande initiale, on peut définir le nom
"NomCellule", comme se référant à la formule
ci-dessus, et ensuite utiliser :
=NomCellulehello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" a écrit dans le message de news:
%re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9^9)&ADRESSE(LIGNE();COLONNE())
isabelleMerci, pour la réponse super rapide mais ce n'est pas tout à fait le
résultat que j'attendais. En effet, cette fonction renvoie les infos sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différentes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelleBonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années que je
cherche (Google et autres, spécialistes/développeurs Excel,...), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.
Bonjour,
ma suggestion semple s'être perdue sauf sur google,
Amha Isabelle était dans le bon
il faut garder le volatile et simplement utiliser caller plutôt que
activecell:
Function lacell()
Application.Volatile
lacell = ActiveSheet.Name & " " & Application.Caller.Address
End Function
(NSP si caller est aussi dispo sur MAC?)
Salutations.
lSteph
"Michel Gaboly" <michelgaboly@bluewin.ch> a écrit dans le message de news:
%23juscdN4GHA.988@TK2MSFTNGP02.phx.gbl...
Bonsoir Paul,
Cela ne marche pas dans tous les cas : si tu sélectionnes plusieurs cellules
à la fois, et que tu entres la formule en
une seule fois dans la sélection, tu n'auras pas le bon résultat. Idem en
cas de Recopier vers le bas, vers la droite, ...
En effet la cellule active ne correspond qu'à l'une des celllules
concernées.
Quant à la dernière proposition d'Isabelle :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;99)&ADRESSE(LIGNE();COLONNE())
Elle ne fonctionne pas sur un document non encore enregistré.
Voici donc ce que je propose :
Si on n'utilise que les 26 premières colonnes d'une feuille :
ÊR(COLONNE() + 64) & LIGNE()
CAR() renvoie le caractère correspondant au code ASCII indiqué. "A" pour
code 65, puis "B" pour 66, ...
Toutefois, pour avoir une formule qui marche quelle que soit la cellule, il
faut tenir compte qu'à partir de la 27ème
colonne, les références comportent 2 lettres :
=SI(COLONNE() > 26;CAR(ENT(COLONNE() / 26 + 64));"") & CAR(MOD(COLONNE() -
1;26) + 1 + 64) & LIGNE()
Pour répondre + précisément à la demande initiale, on peut définir le nom
"NomCellule", comme se référant à la formule
ci-dessus, et ensuite utiliser :
=NomCellule
hello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" <iii@iii> a écrit dans le message de news:
%232NHuzM4GHA.4972@TK2MSFTNGP03.phx.gbl...
re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9^9)&ADRESSE(LIGNE();COLONNE())
isabelle
Merci, pour la réponse super rapide mais ce n'est pas tout à fait le
résultat que j'attendais. En effet, cette fonction renvoie les infos sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différentes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -
bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelle
Bonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années que je
cherche (Google et autres, spécialistes/développeurs Excel,...), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.
Bonjour,
ma suggestion semple s'être perdue sauf sur google,
Amha Isabelle était dans le bon
il faut garder le volatile et simplement utiliser caller plutôt que
activecell:
Function lacell()
Application.Volatile
lacell = ActiveSheet.Name & " " & Application.Caller.Address
End Function
(NSP si caller est aussi dispo sur MAC?)
Salutations.
lSteph
"Michel Gaboly" a écrit dans le message de news:
%
Bonsoir Paul,
Cela ne marche pas dans tous les cas : si tu sélectionnes plusieurs cellules
à la fois, et que tu entres la formule en
une seule fois dans la sélection, tu n'auras pas le bon résultat. Idem en
cas de Recopier vers le bas, vers la droite, ...
En effet la cellule active ne correspond qu'à l'une des celllules
concernées.
Quant à la dernière proposition d'Isabelle :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;99)&ADRESSE(LIGNE();COLONNE())
Elle ne fonctionne pas sur un document non encore enregistré.
Voici donc ce que je propose :
Si on n'utilise que les 26 premières colonnes d'une feuille :
ÊR(COLONNE() + 64) & LIGNE()
CAR() renvoie le caractère correspondant au code ASCII indiqué. "A" pour
code 65, puis "B" pour 66, ...
Toutefois, pour avoir une formule qui marche quelle que soit la cellule, il
faut tenir compte qu'à partir de la 27ème
colonne, les références comportent 2 lettres :
=SI(COLONNE() > 26;CAR(ENT(COLONNE() / 26 + 64));"") & CAR(MOD(COLONNE() -
1;26) + 1 + 64) & LIGNE()
Pour répondre + précisément à la demande initiale, on peut définir le nom
"NomCellule", comme se référant à la formule
ci-dessus, et ensuite utiliser :
=NomCellulehello à tous,
Il suffit d'enlever l'instruction
Application.volatile
pour que la fonction ne se remette pas à jour à chaque calcul.
Pas testé mais cela devrait fonctionner
A+
Paul V
"isabelle" a écrit dans le message de news:
%re bonjour Pascal,
tu pourrais utiliser les fonctions d'excel :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;9^9)&ADRESSE(LIGNE();COLONNE())
isabelleMerci, pour la réponse super rapide mais ce n'est pas tout à fait le
résultat que j'attendais. En effet, cette fonction renvoie les infos sur
la cellule active (qui peut changer) et non pas celles de la cellule où
elle se trouve (valeur constante pour une cellule donnée).
Illustration : si on utilise la fonction dans deux cellules différentes
on obtient la même valeur dans les deux cellules.
Ce n'est pas, ce que je voulais. Désolé !
Cordialement.
- Pascal -bonjour Pascal,
Function nomCellule()
Application.Volatile
nomCellule = ActiveCell.Parent.Name & " " & ActiveCell.Address
End Function
isabelleBonjour,
Je ne suis pas spécialiste Excel et voilà plusieurs années que je
cherche (Google et autres, spécialistes/développeurs Excel,...), sans
succès : je voudrais récupérer dans une procédure Function la
référence
de la cellule (et de là, la feuille) qui l'a appelée.
Exemple (simple) d'utilisation :
comment définir la fonction VBA "nomCellule" pour que la formule
"=nomCellule()" renvoie "A1" en A1, "A2" en A2,...
Merci pour toute idée, tuyau ou conseil.
- Pascal -
P.S.: j'utilise principalement Excel 2000 pour l'instant, mais une
solution pour une version plus récente me ravirait également.