[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 !
Avatar de l’utilisateur
anatole
Membre hOOnoraire
Membre hOOnoraire
Messages : 128
Inscription : 30 oct. 2010 16:54

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

Message par anatole »

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

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 vous a écrit: Pour faciliter la lecture, code mis entre balises par le modérateur.

Dernière modification par Oukcha le 17 juin 2019 15:51, modifié 3 fois.
Raison : Balise [Résolu] en début de titre, sans point d’exclamation, et avec coche verte
Papy-geek... Windows 10 Famille 22H2 build 19045.3570 - pack 1000.19052.1000.0 {64bits} LibreOffice 7.5.7.1.- Huawei MateStation S Ryzen 5 4600G Radeon Graphics 3.70GHz RAM 8G0 - 2 ... l'Aventure continue !
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9252
Inscription : 28 août 2010 08:45

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

Message par micmac »

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 : https://forum.openoffice.org/fr/forum/s ... 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.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
touvenant
Membre OOrganisé
Membre OOrganisé
Messages : 50
Inscription : 23 déc. 2012 18:42

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

Message par touvenant »

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 7.4.6.2 x64
Windows10 Pro v10.0.19044
Avatar de l’utilisateur
anatole
Membre hOOnoraire
Membre hOOnoraire
Messages : 128
Inscription : 30 oct. 2010 16:54

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

Message par anatole »

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... Windows 10 Famille 22H2 build 19045.3570 - pack 1000.19052.1000.0 {64bits} LibreOffice 7.5.7.1.- Huawei MateStation S Ryzen 5 4600G Radeon Graphics 3.70GHz RAM 8G0 - 2 ... l'Aventure continue !
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25175
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

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

Message par Dude »

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

dispatcher.executeDispatch(document, ".uno:SelectRow", "", 0, Array())
Avatar de l’utilisateur
anatole
Membre hOOnoraire
Membre hOOnoraire
Messages : 128
Inscription : 30 oct. 2010 16:54

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

Message par anatole »

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... Windows 10 Famille 22H2 build 19045.3570 - pack 1000.19052.1000.0 {64bits} LibreOffice 7.5.7.1.- Huawei MateStation S Ryzen 5 4600G Radeon Graphics 3.70GHz RAM 8G0 - 2 ... l'Aventure continue !
Avatar de l’utilisateur
anatole
Membre hOOnoraire
Membre hOOnoraire
Messages : 128
Inscription : 30 oct. 2010 16:54

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

Message par anatole »

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... Windows 10 Famille 22H2 build 19045.3570 - pack 1000.19052.1000.0 {64bits} LibreOffice 7.5.7.1.- Huawei MateStation S Ryzen 5 4600G Radeon Graphics 3.70GHz RAM 8G0 - 2 ... l'Aventure continue !
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9362
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise + F-Savoie

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

Message par tintin »

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.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
AOO 4.1.15 et LibO stable 7.6.6 / macOS Intel 13.6.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
anatole
Membre hOOnoraire
Membre hOOnoraire
Messages : 128
Inscription : 30 oct. 2010 16:54

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

Message par anatole »

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... Windows 10 Famille 22H2 build 19045.3570 - pack 1000.19052.1000.0 {64bits} LibreOffice 7.5.7.1.- Huawei MateStation S Ryzen 5 4600G Radeon Graphics 3.70GHz RAM 8G0 - 2 ... l'Aventure continue !
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12226
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

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

Message par Bidouille »

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.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.