#1 Le 06/08/2015, à 08:40
- Papyrus
RÉSOLU Macro Libreoffice: utiliser le nom d'une cellule comme variable
Bonjour,
j'ai créé une macro pour trier certaines lignes dans un tableau Libreoffice.
La zone de tri sera par exemple arg2(0).Value = "$A$2249:$E$4000"
Mais la cellule de départ $A$2249 varie selon le cas.
Je l'ai défini en attribuant un nom à la cellule, par exemple "ORIGINE" (il est plus facile de changer l'adresse d'un nom que de modifier une macro)
Question : comment peut-on remplacer une valeur telle $A$2249 par le nom de la cellule correspondante (ORIGINE) dans une macro ?
J'ai essayé en vain la ligne suivante : "ORIGINE:$E$4000"
Merci pour votre aide précieuse.
Dernière modification par Papyrus (Le 07/08/2015, à 07:53)
Ce n'est qu'en essayant continuellement que l'on finit par réussir. En d'autres termes, plus ça rate et plus on a de chances que ça marche. (The Shadoks)
Versions officielles ubuntu-gnome depuis 2006 ainsi que Mint et des systèmes "test" : Debian, Fedora, Manjaro, OpenSuse, Budgie, KDE... Windows 10 (!)
English is absolutly not a problem at all. You are welcome.
Hors ligne
#2 Le 06/08/2015, à 11:09
- erresse
Re : RÉSOLU Macro Libreoffice: utiliser le nom d'une cellule comme variable
Bonjour,
Je ne peux pas répondre à ta question concernant la référence à un nom de cellule, mais je te propose une alternative :
Utiliser la fonction =INDIRECT(A1), où A1 contient l'adresse de la cellule réelle (A2249).
De ce fait, la macro aura toujours l'adresse fixe A1, mais l'adresse réelle variera selon ce que contient A1.
Cela peut-il te convenir ?
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#3 Le 06/08/2015, à 13:21
- Papyrus
Re : RÉSOLU Macro Libreoffice: utiliser le nom d'une cellule comme variable
Merci erresse, toute idée est bonne à prendre.
Mais je ne vois pas comment cette fonction pourrait servir puisqu'il ne s'agit pas de la valeur contenue dans la cellule qui importe, mais l'adresse même de la cellule afin comme dit de créer une zone de tri.
J'ai recherché dans l'aide de Calc sous "=INDIRECT" et sous "ADRESSE" sans obtenir de résultat concluant.
N'empêche que c'est peut-être une bonne piste à préciser.
Ce n'est qu'en essayant continuellement que l'on finit par réussir. En d'autres termes, plus ça rate et plus on a de chances que ça marche. (The Shadoks)
Versions officielles ubuntu-gnome depuis 2006 ainsi que Mint et des systèmes "test" : Debian, Fedora, Manjaro, OpenSuse, Budgie, KDE... Windows 10 (!)
English is absolutly not a problem at all. You are welcome.
Hors ligne
#4 Le 06/08/2015, à 14:43
- Papyrus
Re : RÉSOLU Macro Libreoffice: utiliser le nom d'une cellule comme variable
Bonjour,
Utiliser la fonction =INDIRECT(A1), où A1 contient l'adresse de la cellule réelle (A2249).
La question que je me pose à présent : comment faire contenir l'adresse (pas la valeur!) d'une cellule dans une autre cellule, dans ce cas A2249 dans la cellule A1 ?
Ce n'est qu'en essayant continuellement que l'on finit par réussir. En d'autres termes, plus ça rate et plus on a de chances que ça marche. (The Shadoks)
Versions officielles ubuntu-gnome depuis 2006 ainsi que Mint et des systèmes "test" : Debian, Fedora, Manjaro, OpenSuse, Budgie, KDE... Windows 10 (!)
English is absolutly not a problem at all. You are welcome.
Hors ligne
#5 Le 06/08/2015, à 17:10
- erresse
Re : RÉSOLU Macro Libreoffice: utiliser le nom d'une cellule comme variable
Hé bien, il faut juste charger "A2249" comme valeur dans la cellule A1. Lorsque tu référence la cellule A1 au travers de la fonction =INDIRECT(A1), tu obtiendra la valeur contenue dans la cellule A2249.
Si tu modifies le contenu de la cellule A1, tu iras toujours chercher la valeur de la cellule dont l'adresse est contenue dans A1...
Tu peux voir ça comme une sorte de raccourci : Le "raccourci" contient un lien qui pointe vers le fichier réel, si bien que lorsque tu références le raccourci, tu obtiens le contenu du fichier. CQFD.
Ce n'est pas ce que tu cherches à faire ?
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#6 Le 07/08/2015, à 07:59
- Papyrus
Re : RÉSOLU Macro Libreoffice: utiliser le nom d'une cellule comme variable
Non, ce n'est pas du tout ce que je cherche à faire, mais j'ai résolu le problème :
"Ce n'est qu'en essayant continuellement que l'on finit par réussir. En d'autres termes, plus ça rate et plus on a de chances que ça marche. (The Shadoks)"
C'est que dans une macro, les "noms" attribués à une cellule sont tout à fait acceptés...
et dans mon cas, il ne fallait pas définir le nom d'une seule cellule, mais tout simplement le nom de la plage de cellules pour le tri.
Ma macro fonctionne parfaitement : c'est génial.
Merci à toi qui par tes idées m'ont amenés progressivement à la bonne solution.
Bien cordialement.
Ce n'est qu'en essayant continuellement que l'on finit par réussir. En d'autres termes, plus ça rate et plus on a de chances que ça marche. (The Shadoks)
Versions officielles ubuntu-gnome depuis 2006 ainsi que Mint et des systèmes "test" : Debian, Fedora, Manjaro, OpenSuse, Budgie, KDE... Windows 10 (!)
English is absolutly not a problem at all. You are welcome.
Hors ligne