[Calc] Copier / coller simplifié

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 !
Claude72
NOOuvel adepte
NOOuvel adepte
Messages : 15
Inscription : 09 mars 2026 12:47

[Calc] Copier / coller simplifié

Message par Claude72 »

Bonjour à tous,
ayant eu besoin d'une macro simple pour copier et coller des données, je suis arriver en m'inspirant des macros existantes à construire une macro simple pour copier et coller rapidement des données d'une feuille "Saisies" vers une autre feuille "Réception" à la suite des données existantes et supprimer les saisies. Je joins un petit fichier et j'attends vos remarques.
Merci d'avance
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libreoffice 25.8.5.2, Ubuntu 24.04.4
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12866
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: [Calc] Copier / coller simplifié

Message par Bidouille »

Bonjour,

Afin que le moteur de recherche du forum puisse indexer votre macro, veuillez en publier son contenu

Code : Tout sélectionner

Utilisez les balises [code] pour que cela soit lisible.
Merci également d'indiquer en quoi cette macro est préférable aux exemples qui sont dans le suprême de code :
[Calc] Copier / coller entre deux classeurs ou feuilles
Claude72
NOOuvel adepte
NOOuvel adepte
Messages : 15
Inscription : 09 mars 2026 12:47

Re: [Calc] Copier / coller simplifié

Message par Claude72 »

C'est une petite version simplifiée de la macro ZPlage.Copie en zBasic

Code : Tout sélectionner

Sub CopierSaisiesForum
GlobalScope.BasicLibraries.loadLibrary ("zBasic")
	sFeuille="Saisies"
	sPlage = "A4:G15"
	nIndex = zPlage.LigneVide ("Reception")
	zPlage.Copie(sFeuille, sPlage, "Reception", "A"  &  nIndex)
    zPlage.Supprime("A4:G15", "Saisies")
Call TrierReception
End sub	
Sub TrierReception
GlobalScope.BasicLibraries.loadLibrary("zBasic") 	
Dim oTri As Variant
     oTri = zTri.Demarre
     zTri.Colonne(oTri, 1, "C", "N")
     zTri.Parametre(oTri, "entete", "N")
     zTri.Execute( "Reception", "A4:G300", oTri)
Call Saisies
End sub     


sub Reception
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 = "Nr"
args1(0).Value = 2

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())


end sub
Libreoffice 25.8.5.2, Ubuntu 24.04.4
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1199
Inscription : 19 août 2018 05:20

Re: [Calc] Copier / coller simplifié

Message par Dolev »

Bonjour,

La macro avec l'appel au dispatcher sur uno:JumpToTable n'a pas vraiment d'intérêt.
Pour activer une feuille, pourquoi n'utilisez-vous pas zFeuille.Active ?
Open Office 4.1.16 sous Windows 11
Claude72
NOOuvel adepte
NOOuvel adepte
Messages : 15
Inscription : 09 mars 2026 12:47

Re: [Calc] Copier / coller simplifié

Message par Claude72 »

Bonjour, oui effectivement, c'est beaucoup plus simple, je ne savais pas !!!
Libreoffice 25.8.5.2, Ubuntu 24.04.4
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1199
Inscription : 19 août 2018 05:20

Re: [Calc] Copier / coller simplifié

Message par Dolev »

Re,
Je ne vois pas non plus pourquoi vous copiez collez.
Sans doute qu'une vraie base de données et un formulaire de saisie serait plus adapté.
Car si c'est pour gérer une compta familiale, le tableur n'est pas une solution.
Il existe des logiciels dédiés comme MaxiCompte par exemple.

Pensez à passer votre sujet en résolu.
Open Office 4.1.16 sous Windows 11