[Résolu] [Calc] copier-insérer une ligne

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: 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 !

[Résolu] [Calc] copier-insérer une ligne

Messagepar anatole » 11 Juin 2019 12:22

Bonjour,
Après de longues longues hésitations (une quinzaine d'années), je viens de décider de migrer progressivement d'Excel à Calc...
Dans Excel - pour l'essentiel avec l'enregistreur de macros - je me suis fait de nombreuses petites macros que je trouve bien commodes :)
Je viens d'essayer de commencer à les récréer dans Calc avec l'enregistreur et ça commence mal ! pour la première "sélectionner toute une ligne / la copier/insérer une nouvelle ligne/la coller" :fou:
La macro enregistrée en final insère une ligne...vide Voilà son contenu :"
Code : Tout sélectionner   AgrandirRéduire
sub copierInsererLigne
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 ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertRowsBefore", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end sub

Je suis preneur de tuto Macro pour débutants
Merci de vos lumières

La modération a écrit:Pour faciliter la lecture, code mis entre balises par le modérateur.
Dernière édition par Oukcha le 17 Juin 2019 16:51, édité 3 fois.
Raison: Balise [Résolu] en début de titre, sans point d’exclamation, et avec coche verte
Papy-geek ! Youpee ! l'Aventure continue ! LibreOffice 6.2.4.2 Microsoft Office Pro 2003 11.8404.8405 Windows 10 famille 1809 -17763-503
Avatar de l’utilisateur
anatole
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 30 Oct 2010 17:54

Re: [Calc] copier-insérer une ligne

Messagepar micmac » 11 Juin 2019 12:45

Bonjour,

Votre titre < Calc Macro "copier-insérer une ligne" >
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 : sutra27295.html#27295

N'oubliez pas que les termes Macro, OpenOffice ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.

Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.

Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même au risque de voir votre sujet verrouillé.

Merci de votre collaboration.
Dans votre signature vous devez préciser la ou les versions exactes d'OpenOffice ou de LibreOffice et du ou des systèmes utilisés.
Exemple : AOO 4.1.6 (version imposée selon le cas) sous Win7 SP1, Win 8.1, Win 10, macOS 10.14.5, Ubuntu 18.10...
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 5970
Inscrit le : 28 Août 2010 09:45

Re: [Calc] copier-insérer une ligne

Messagepar touvenant » 12 Juin 2019 18:52

Bonsoir,
je ne connais pas bien l'enregistreur de macro, mais il me semble qu'il manque l'étape "sélection"...
Après la création du service dispatcher, il y a une ligne pour la copie (mais de quoi ?) puis la création de la ligne, puis le collage (mais de quoi ?)... Il y a un double guillemet dans les paramètres "" qui signifie probablement une chaîne vide...
Est-ce que tu as sélectionné ta ligne (origine puis maj+fin) après le déclenchement de l'enregistrement de la macro ?
LibreOffice 6.2.2.2 obligatoire
Windows7 Pro SP1 x64 v6.1 obligatoire
touvenant
Membre lOOyal
Membre lOOyal
 
Message(s) : 33
Inscrit le : 23 Déc 2012 19:42

Re: [Calc] copier-insérer une ligne

Messagepar anatole » 13 Juin 2019 19:01

Bonsoir Touvenant et merci de t'intéresser à mon post

Effectivement l'enregistreur semble n'enregistrer aucune sélection de ligne ? Le curseur, étant placé dans une ligne, après avoir ouvert l'enregistreur, je sélectionne la ligne en faisant Majuscule + pointeur sur le n° de la ligne : ce qui la sélectionne ??

Il va falloir que j'investisse un peu de temps pour plonger dans les macros Libre Office, car dans Microsoft Office que je viens de décider de quitter après 20 ans... d'interrogation, je trouvais cet outil des macros - via l'enregistreur - bien commode !!

Bon week-end
Papy-geek ! Youpee ! l'Aventure continue ! LibreOffice 6.2.4.2 Microsoft Office Pro 2003 11.8404.8405 Windows 10 famille 1809 -17763-503
Avatar de l’utilisateur
anatole
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 30 Oct 2010 17:54

Re: [Calc] copier-insérer une ligne

Messagepar Dude » 13 Juin 2019 20:38

Salut,

anatole a écrit: je sélectionne la ligne en faisant Majuscule + pointeur sur le n° de la ligne : ce qui la sélectionne ??

Relis l'aide F1 : ce qui est fait avec la souris n'est pas enregistré.

Il faut tout faire uniquement avec le clavier.
La sélection d'une ligne peut se faire via le raccourci Maj + Espace.
Le dispatcher affichera ensuite logiquement :
Code : Tout sélectionner   AgrandirRéduire
dispatcher.executeDispatch(document, ".uno:SelectRow", "", 0, Array())
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20798
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc] copier-insérer une ligne

Messagepar anatole » 17 Juin 2019 16:29

Merci Dude,
Effectivement :) maintenant ça marche !!
Je vais avoir du boulot pour plonger dans les macros Libre Office
Je vais voir les infos disponibles pour les débutants papy-geek comme moi :oops:

Bonne semaine
Papy-geek ! Youpee ! l'Aventure continue ! LibreOffice 6.2.4.2 Microsoft Office Pro 2003 11.8404.8405 Windows 10 famille 1809 -17763-503
Avatar de l’utilisateur
anatole
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 30 Oct 2010 17:54

Re: [Résolu] [Calc] copier-insérer une ligne

Messagepar anatole » 18 Juin 2019 10:40

re-bonjour,
Dude, juste une petite question :
Relis l'aide F1 : ce qui est fait avec la souris n'est pas enregistré.

Je n'ai pas réussi à trouver cette "aide F1" :roll:

Bonne journée
Papy-geek ! Youpee ! l'Aventure continue ! LibreOffice 6.2.4.2 Microsoft Office Pro 2003 11.8404.8405 Windows 10 famille 1809 -17763-503
Avatar de l’utilisateur
anatole
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 30 Oct 2010 17:54

Re: [Résolu] [Calc] copier-insérer une ligne

Messagepar tintin » 18 Juin 2019 11:04

Bonjour,

L'action sur la touche F1 de votre clavier ouvre l'aide LibreOffice à laquelle vous avez également accès en cliquant sur le menu Aide.

LibO_enregistrement_macros.png

Limitations de l'enregistreur de macro

Les actions suivantes ne sont pas enregistrées :
  • L'ouverture d'une fenêtre n'est pas enregistrée.
  • Les actions réalisées dans une fenêtre autre que celle dans laquelle l'enregistreur a été démarré ne sont pas enregistrées.
  • Le changement de fenêtre n'est pas enregistré.
  • Les actions indépendantes du contenu du document ne sont pas enregistrées. Par exemple, les modifications réalisées dans une boîte de dialogue d'options, l'organisateur de macros ou la personnalisation.
  • Les sélections sont enregistrées uniquement si elles sont réalisées en utilisant le clavier (déplacement du curseur) mais pas quand la souris est utilisée.
  • L'enregistreur de macro fonctionne uniquement dans Calc et Writer.
AOO 4.1.6 / macOS 10.14.6 Mojave
JRE-8u221 / Firefox / Safari / Thunderbird / Time Machine
Tutoriels du forum pour macOS
Pour préserver vos documents, faites régulièrement des sauvegardes.
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
 
Message(s) : 6116
Inscrit le : 18 Juil 2008 16:29
Localisation : F-Oise + F-Savoie

Re: [Résolu] [Calc] copier-insérer une ligne

Messagepar anatole » 18 Juin 2019 17:03

Bonsoir et Merci Tintin,
L'aide n'était pas installée : je viens de le faire ! c'est top :D

J'en profite pour vous demander si vous connaissez des outils (tutos, sites internet...) bien conçus pour les débutants qui veulent fabriquer leurs premières macros, car elles sont bien utiles, je trouve :)

Bonne soirée
Papy-geek ! Youpee ! l'Aventure continue ! LibreOffice 6.2.4.2 Microsoft Office Pro 2003 11.8404.8405 Windows 10 famille 1809 -17763-503
Avatar de l’utilisateur
anatole
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 23
Inscrit le : 30 Oct 2010 17:54

Re: [Résolu] [Calc] copier-insérer une ligne

Messagepar Bidouille » 24 Juin 2019 14:12

Bonjour,

anatole a écrit:J'en profite pour vous demander si vous connaissez des outils (tutos, sites internet...) bien conçus pour les débutants

Vous devriez pendre la peine de lire ce qui est épinglé en tête de section :
capture.png


Et si des ressources manquent, vous pouvez enrichir la documentation.
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 10075
Inscrit le : 08 Nov 2005 17:23
Localisation : Brest, France


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)