Bonjour,
je suis nul en calc basic mais j'aimerais savoir si c'est possible de pouvoir de pouvoir rappeler un cellule active ?
Je m'explique, je clique ou pas sur une cellule je déclenche ma macro et je voudrais revenir sur la cellule cliquée avant l'exécution de ma macro...
Merci d'avance.
[Résolu][Calc] Rappel cellule active
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 27 mai 2018 21:48
[Résolu][Calc] Rappel cellule active
Dernière modification par micmac le 27 mai 2018 22:02, modifié 1 fois.
Apache OpenOffice 4.1.5
Windows 10 Famille
Windows 10 Famille
-
- RespOOnsable forum
- Messages : 9256
- Inscription : 28 août 2010 08:45
Re: [Calc] Rappel cellule active
Bonjour et bienvenue,
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?
Lisez ce fil pour savoir quelle balise utiliser : https://forum.openoffice.org/fr/forum/s ... html#27295
N'oubliez pas que les termes "Macro" ou "OpenOffice" ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.
Est-ce une erreur, un oubli, un choix, une obligation ?
Dans ce dernier cas, mentionnez-le dans votre signature par "Obligation de version".
Pour connaître la version que vous possédez : https://forum.openoffice.org/fr/forum/v ... 582#p11582
Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version
Dans votre signature il est nécessaire d'indiquer :
1- La version exacte de AOO ou LibO (AOO 4.1.5, LibO 5.4.7 par exemple) ;
2- La version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Ubuntu 1§.04, MacOS 10.13.4 par exemple).
Accès direct à votre signature pour la corriger.
Merci de votre collaboration.
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?
Lisez ce fil pour savoir quelle balise utiliser : https://forum.openoffice.org/fr/forum/s ... html#27295
N'oubliez pas que les termes "Macro" ou "OpenOffice" ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.
Votre signature est incomplète et indique une version de OpenOffice qui n'est plus maintenue.votre signature a écrit : Apache OpenOffice 4.1.3
Est-ce une erreur, un oubli, un choix, une obligation ?
Dans ce dernier cas, mentionnez-le dans votre signature par "Obligation de version".
Pour connaître la version que vous possédez : https://forum.openoffice.org/fr/forum/v ... 582#p11582
Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version
Dans votre signature il est nécessaire d'indiquer :
1- La version exacte de AOO ou LibO (AOO 4.1.5, LibO 5.4.7 par exemple) ;
2- La version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Ubuntu 1§.04, MacOS 10.13.4 par exemple).
Accès direct à votre signature pour la corriger.
Merci de votre collaboration.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Rappel cellule active
Le clic simple n'est pas une bonne idée.
En revanche, tu as l'évènement de feuille "Double clic" que tu peux assigner.
Il te suffit d'agir sur la méthode getCurrentSelection et de mémoriser la structure CellAdress dans une variable.
Mais bon, je ne vois pas l'intérêt de la chose.
Que doit donc faire la macro ?
Comme toujours, fournir un document accompagné de copies écran nous évite le jeu des devinettes.
En revanche, tu as l'évènement de feuille "Double clic" que tu peux assigner.
Il te suffit d'agir sur la méthode getCurrentSelection et de mémoriser la structure CellAdress dans une variable.
Mais bon, je ne vois pas l'intérêt de la chose.
Que doit donc faire la macro ?
Comme toujours, fournir un document accompagné de copies écran nous évite le jeu des devinettes.
-
- InconditiOOnnel
- Messages : 839
- Inscription : 10 janv. 2009 08:05
Re: [Calc] Rappel cellule active
Bonjour,
merci de tenir compte des demandes du modérateur....
Pour ta demande, il te suffit de mettre dans une variable, la cellule active, de laisser travailler ta macro et enfin de resélectionner la cellule. ce qui donne:
mais fournir plus de détails, en particulier ta macro, éviterait de répondre à l'aveugle...
A plus.
merci de tenir compte des demandes du modérateur....
Pour ta demande, il te suffit de mettre dans une variable, la cellule active, de laisser travailler ta macro et enfin de resélectionner la cellule. ce qui donne:
Code : Tout sélectionner
doc = ThisComponent
sel = doc.CurrentSelection
' ici tu mets ta macro
doc.CurrentController.select(sel)
A plus.
A jour de LibreOffice et de Ubuntu
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 27 mai 2018 21:48
Re: [Calc] Rappel cellule active
Voici le Code :
Qui est censé appelé une macro Pseudo car le tri sur 4 colonnes en critère de tri ne marche pas mais le problème c'est que la macro me fait remonter le document en A1 alors que plus je fais les macros et plus je vais vers le bas donc j'aimais bien une variable intermédiable qui garderait la cellule active (du moins sa référence) puis une fois les tris finis reviendrait à sa position initiale...
Désolé pour la version, j'ignorais que le site poussait les gens à mettre obligatoirement à jour leur version OpenOffice...
De plus, il n'y a rien dans le logiciel qui indiquait une éventuelle mise à jour...
Code : Tout sélectionner
sub Huitieme
call Pseudo
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "Tournoi"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(8) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ByRows"
args2(0).Value = true
args2(1).Name = "HasHeader"
args2(1).Value = true
args2(2).Name = "CaseSensitive"
args2(2).Value = false
args2(3).Name = "IncludeAttribs"
args2(3).Value = true
args2(4).Name = "UserDefIndex"
args2(4).Value = 0
args2(5).Name = "Col1"
args2(5).Value = 4
args2(6).Name = "Ascending1"
args2(6).Value = true
args2(7).Name = "Col2"
args2(7).Value = 5
args2(8).Name = "Ascending2"
args2(8).Value = false
dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
end sub
Désolé pour la version, j'ignorais que le site poussait les gens à mettre obligatoirement à jour leur version OpenOffice...
De plus, il n'y a rien dans le logiciel qui indiquait une éventuelle mise à jour...
Apache OpenOffice 4.1.5
Windows 10 Famille
Windows 10 Famille
-
- RespOOnsable forum
- Messages : 9256
- Inscription : 28 août 2010 08:45
Re: [Calc] Rappel cellule active
Bonjour,
Comme écrit supra, il est conseillé de se tenir à jour des dernières versions.
Quant à la version de votre système d'exploitation, on attend que vous vouliez compléter votre signature.
Merci
Non, ce n'est pas prévu, il n'y a pas de mise à jour automatique sur OpenOffice. Cela se fait manuellement et il faut se tenir au courant.[b][color=#404080]KappaKudo[/color][/b] a écrit :il n'y a rien dans le logiciel qui indiquait une éventuelle mise à jour.
Comme écrit supra, il est conseillé de se tenir à jour des dernières versions.
Quant à la version de votre système d'exploitation, on attend que vous vouliez compléter votre signature.
Merci
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 27 mai 2018 21:48
Re: [Calc] Rappel cellule active
Mise à jour de la signature =)
Apache OpenOffice 4.1.5
Windows 10 Famille
Windows 10 Famille
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Rappel cellule active
La macro fait ce que tu lui demandes. Tu as une instruction uno:GoToCell qui t'envoie en A1.KappaKudo a écrit :mais le problème c'est que la macro me fait remonter le document en A1
Et donc ? joel275 te propose un code qui fait ce que tu demandes.KappaKudo a écrit :donc j'aimais bien une variable intermédiable qui garderait la cellule active
Fais au moins l'effort de l'intégrer.