[Résolu] Insérer une ligne automatiquement

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
yanoche971
Fraîchement OOthentifié
Messages : 3
Inscription : 11 mars 2025 07:58

[Résolu] Insérer une ligne automatiquement

Message par yanoche971 »

Bonjour,

je souhaiterais dans mon tableau qu'une ligne s'insère automatiquement quand une ligne est remplie dans la partie FRANCE mais aussi dans la partie BELGIQUE.
Il faudrait également que l'ajout de ligne permette l'addition dans TOTAL BELGIQUE et TOTAL FRANCE mais aussi dans le TOTAL GÉNÉRAL.

Merci pour votre aide.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 15 avr. 2025 11:03, modifié 1 fois.
Raison : Balisage
Open office 22.04.08 sous Ubuntu
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9835
Inscription : 28 août 2010 08:45

Re: Insérer une ligne automatiquement

Message par micmac »

Bonjour et bienvenue sur le forum,
Dans votre signature il y a écrit : Open office 7.3.7.2 sous Ubuntu
Votre signature fait mention d'une version d'OpenOffice alors que le numéro de version est une version de LibreOffice, LibreOffice que vous n'avez pas pu entrer, essayez de nouveau.

Afin de profiter des dernières améliorations, pensez à être à jour de la dernière version officielle

Dans votre signature il est nécessaire d'indiquer :
  1. la version exacte de AOO ou LibO (AOO 4.1.15, LibO 24.8.5 par exemple) ;
  2. la version exacte du système d'exploitation (Ubuntu 24.04 par exemple).
Accès direct à votre signature pour la corriger.

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
yanoche971
Fraîchement OOthentifié
Messages : 3
Inscription : 11 mars 2025 07:58

Re: Insérer une ligne automatiquement

Message par yanoche971 »

J'ai corrigé, je pense que c'est bon cette fois-ci.
Open office 22.04.08 sous Ubuntu
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9935
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise + F-Savoie

Re: Insérer une ligne automatiquement

Message par tintin »

Non. Remplacez OpenOffice par LibreOffice, vérifiez la version Connaître la version de Apache OpenOffice (AOO) ou LibreOffice (LibO) installée et donnez la version exacte d'Ubuntu.
AOO 4.1.15 et LibO 24.8.7.2 / macOS Intel 13.7.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_452 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1823
Inscription : 15 déc. 2010 08:33

Re: Insérer une ligne automatiquement

Message par yclik »

bonjour
Une piste avec macro mais sur deux feuilles
attendre les pros si besoin sur une seule feuille et reposter dans la section dédiée macros
Test-yannoche1.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 11
yanoche971
Fraîchement OOthentifié
Messages : 3
Inscription : 11 mars 2025 07:58

Re: Insérer une ligne automatiquement

Message par yanoche971 »

Bonjour et merci de votre contribution.

Il me faudrait sur une seule feuille en effet si c'est possible.
Open office 22.04.08 sous Ubuntu
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1823
Inscription : 15 déc. 2010 08:33

Re: Insérer une ligne automatiquement

Message par yclik »

Bonsoir
macro sur une seule feuille
Test-yannoche 1feuille.ods
Obligé de copier les cellule sur un nouveau classeur car le fichier fourni les boutons se déplaçaient avec les lignes (créé avec Ubuntu ?)
avec cette macro

Code : Tout sélectionner

sub insere_france	
Dim oDoc as Object REM  le document	
Dim Sheets as object REM  les feuilles	
Dim oLigneSource as object	
Dim oLigneInsere as object	
	
oDoc=ThisComponent	
    Sheet = oDoc.Sheets.getByName("Feuille1")	
    Sheet.getRows.insertByIndex(2,1) rem =>N° ligne (ByIndex) et non adresse (Byname)	
     oLigneSource = Sheet.getCellRangeByName("A3:C3")	
     oLigneInsere= Sheet.getCellRangeByName("A3:C3")	
     REM 'Copie/Colle valeurs_	
     oLigneInsere.dataArray = oLigneSource.dataArray	
End Sub	


sub insere_belgique	
Dim oDoc as Object REM  le document	
Dim Sheets as object REM  les feuilles	
Dim oLigneSource as object	
Dim oLigneInsere as object	

Dim oLigneBelgique as double
Dim OplageCopieBelgique as string	
oDoc=ThisComponent	
    Sheet = oDoc.Sheets.getByName("Feuille1")
rem ligne cellule belgique    
  For i=1 to 100
		Chaine=Sheet.getCellRangeByName("A"&i).String 'lire cellule A1 à 5000
		If Chaine="BELGIQUE" then oLigneBelgique=i
	next i  
	
    rem ligne insertion
	oLigneInsereBelgique=oLigneBelgique+2 
    rem plage à copier
    OplageCopieBelgique="A"& oLigneInsereBelgique &":" & "C"& oLigneInsereBelgique 
   
   REM copie et insere   	
 
    Sheet.getRows.insertByIndex(oLigneInsereBelgique-1,1) rem =>N° ligne (ByIndex) et non adresse (Byname)	
     oLigneSource = Sheet.getCellRangeByName(OplageCopieBelgique)	
     oLigneInsere= Sheet.getCellRangeByName(OplageCopieBelgique)	
     REM 'Copie/Colle valeurs_	
     oLigneInsere.dataArray = oLigneSource.dataArray	
End Sub	
Si besoin d'améliorer poster en section macro
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 11
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4268
Inscription : 06 oct. 2008 08:03

Re: Insérer une ligne automatiquement

Message par Oukcha »

Bonjour,
Dernière visite le : 17 mars 2025 15:50
Vous avez lu semble t-il les réponses qui vous ont été faites sans y donner de suite.
N'ayant plus de nouvelle, on peut en déduire que le problème est résolu ou ne se reproduit plus.

Merci de baliser par vous-même la prochaine fois.

Un remerciement fait aussi plaisir aux bénévoles qui vous ont consacré de leur temps.
La politesse fait également partie de la philosophie du logiciel libre.

En cas d'erreur, contactez l'équipe de modération pour la réouverture du fil.
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image