[Calc] Comportement surprenant lors de l'extension d'un tableau

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 !
jémy urles
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 27 sept. 2024 12:16

[Calc] Comportement surprenant lors de l'extension d'un tableau

Message par jémy urles »

Bonjour :D
But de la macro:
- Copier la dernière ligne d'un tableau.
- Pointer la cellule A de la ligne suivante (ligne vide).
- Insérer avant cette ligne la ligne sauvegardée.
- Sélectionner une cellule de cette ligne pour saisir une valeur.
Fichier en pièce jointe, le code:

Code : Tout sélectionner

Rem Extension d'un tableau: répétition de la dernière ligne, curseur positionné pour une saisie
Sub extendArray (oFeuille As Object, nomColTst As String, indLig As Integer, nomColIn As String)
	Dim document   	As Object
	Dim dispatcher 	As Object
	Dim indColTst	As Integer

	Rem Accès au document
	document  	= ThisComponent.CurrentController.Frame
	dispatcher 	= createUnoService("com.sun.star.frame.DispatchHelper")

	Rem Recherche de la dernière cellule non vide dans la colonne indexColTst
	indColTst = indexColonne(nomColTst)
	indLig = indLig - 1				' Les index commencent à 0
	Do Until oFeuille.getCellByPosition(indColTst, indLig).String = ""
		indLig = indLig + 1
	Loop

	Rem Pointe la cellule A de cette ligne 
	Dim args1(0) 	As New com.sun.star.beans.PropertyValue
	args1(0).Name 	= "ToPoint"
	args1(0).Value 	= "$A$" + indLig
	dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

	Rem sélection et sauvegarde de cette ligne
	dispatcher.executeDispatch(document, ".uno:SelectRow", "", 0, Array())
	dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

	Rem Pointe sur la ligne suivante
	indLig = indLig + 1
	Dim args2(1) 	As New com.sun.star.beans.PropertyValue
	args2(0).Name	= "By"
	args2(0).Value 	= 1
	args2(1).Name 	= "Sel"
	args2(1).Value 	= false
	dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args2())

	Rem Insertion d'une ligne (avant cette ligne)
	dispatcher.executeDispatch(document, ".uno:InsertRowsBefore", "", 0, Array())

	Rem Collage de la ligne sauvegardée 
	dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())

	Rem Sélection de la cellule de saisie
	Dim args3(0)		As New com.sun.star.beans.PropertyValue
	args3(0).Name 	= "ToPoint"
	args3(0).Value 	= "$" + nomColIn + "$" + indLig
	dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
End Sub
Tout se passe bien, ligne correctement insérée et, cellule (colonne B) sélectionnée, mais si j'appuie sur la touche Entrée le message d'information "Impossible d'insérer au-delà de la page." s'affiche, gloups.
Je voudrais que le curseur soit dans l'état d'une saisie (comme lorqu'on double clique sur une cellule), que la touche Entrée valide la donnée même si elle n'a pas été saisie.
Merci pour vos :idea:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par jémy urles le 23 févr. 2026 07:32, modifié 2 fois.
LibreOffice 25.8.4.2
OpenOffice 4.1.16
Windows 11 Professionnel
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10046
Inscription : 28 août 2010 08:45

Re: [Calc] Bug sur extension d'un tableau

Message par micmac »

Bonjour,

Le titre de votre question n'est pas assez explicite ou ne reflète pas le problème que vous décrivez :
<[Calc] Bug sur extension d'un tableau>
Lors d'une recherche, ce sujet risque de passer inaperçu et donc de ne pas aider d'autres personnes ayant le même problème que vous.
Le terme bug, n’explique pas ce problème.

Voici quelques astuces pour avoir un titre optimum : viewtopic.php?p=1002#p1002

Merci de corriger.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Extension d'un tableau pour nouvelle saisie

Message par Dude »

Salut,

Qu'est ce que tu cherches à faire au final ? Pour moi, c'est un problème XY.

Si tu cherches à incorporer une nouvelle série de données pour ton graphique, il est plus simple de le supprimer puis de le reconstruire en indiquant la nouvelle plage.
jémy urles
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 27 sept. 2024 12:16

Re: [Calc] Extension d'un tableau pour nouvelle saisie

Message par jémy urles »

Bonjour,

Je ne sais si possible et comment changer le titre de ce fil.

Pour caractériser un peu plus le bug je lance la macro avec la colonne A comme colonne de saisie:

Code : Tout sélectionner

Sub MacroPoids
	extendArray(ThisComponent.CurrentController.ActiveSheet, "A", 4, "A") 
End Sub
Si je valide sans saisir de valeur la ligne se retrouve sélectionnée (en bleu) et chaque appui sur Entrée fait passer la cellule de la colonne suivante (A, B, C, etc.) :shock:
Code en pj
J'ai du oublier quelque chose :oops:
Merci pour vos :idea:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 25.8.4.2
OpenOffice 4.1.16
Windows 11 Professionnel
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10046
Inscription : 28 août 2010 08:45

Re: [Calc] Extension d'un tableau pour nouvelle saisie

Message par micmac »

jémy urles a écrit : 22 févr. 2026 14:57 ... comment changer le titre de ce fil.
C’est faisable.
Pour cela éditez le titre du premier message de ce fil en faisant en sort qu’il soit explicite de ce que vous cherchez à faire et en évitant les termes implicitres bug, macro ou LibreOffice .
.
 Ajout :  :alerte: :alerte:
Si le titre du premier message n'est pas plus explicite et continue d'utiliser le mot bug qui ne veut rien dire, le sujet sera verrouillé 
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Bug sur extension d'un tableau

Message par Dude »

Salut,
jémy urles a écrit : 22 févr. 2026 14:57 Pour caractériser un peu plus le bug
Comme l'indique le modo, ce n'est pas une bogue. C'est juste ton codage qui est incorrect.
Si tu veux insérer des lignes, pourquoi ne passes-tu pas par un formulaire de saisie ?

Commence déjà par fournir un document exploitable.
Ton document Relevé poids ess.ods ne peut pas s'exécuter :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
jémy urles
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 27 sept. 2024 12:16

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par jémy urles »

Sorry, code s'exécutant en pj
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 25.8.4.2
OpenOffice 4.1.16
Windows 11 Professionnel
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par Dude »

J'ai mis le bouton en haut de la feuille et branché le bon événement dessus avec "Exécuter l'action".
Je ne vois pas de problème avec ni d'erreur. Explique toi mieux :
demo.gif
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
jémy urles
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 27 sept. 2024 12:16

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par jémy urles »

Merci Dude :D
Le bouton "Ajout mesure" insère correctement une ligne en fin de tableau. Le problème se pose lorsqu'on valide sans saisir de valeur, validation par la touche Entrée, auquel cas la dernière ligne ajoutée au tableau apparait en bleu, cellule de la colonne A sélectionnée.(normal car paramètre d'entrée), puis tout appui sur Entrée fait passer à la COLONNE SUIVANTE :shock:
Avec ou sans saisie d'une valeur la validation par Entrée devrait faire passer le focus à la ligne suivante (dans la même colonne). Voilà :D
LibreOffice 25.8.4.2
OpenOffice 4.1.16
Windows 11 Professionnel
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par Dude »

jémy urles a écrit : 23 févr. 2026 12:03puis tout appui sur Entrée fait passer à la COLONNE SUIVANTE
Avec ou sans saisie d'une valeur la validation par Entrée devrait faire passer le focus à la ligne suivante (dans la même colonne).
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
jémy urles
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 27 sept. 2024 12:16

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par jémy urles »

Non, l'option est correctement cochée, le problème vient d'ailleurs :fou:
LibreOffice 25.8.4.2
OpenOffice 4.1.16
Windows 11 Professionnel
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par Dude »

Je ne reproduis pas sous OpenOffice 4.1.16.
La touche Entrée sur la colonne A fait passer à la cellule du dessous.


.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
jémy urles
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 27 sept. 2024 12:16

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par jémy urles »

OpenOffice 4.1.16 installé, même constat que toi, la touche Entrée sur la colonne A fait passer à la cellule du dessous, mais il n'y a pas insertion mais ajout en fin de tableau, contrairement à LibreOffice qui insère la ligne :shock: :fou:
LibreOffice 25.8.4.2
OpenOffice 4.1.16
Windows 11 Professionnel
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par Dude »

jémy urles a écrit : 23 févr. 2026 14:58 mais il n'y a pas insertion mais ajout en fin de tableau, contrairement à LibreOffice qui insère la ligne
La commande uno:InsertRowsBefore va forcément te demander une confirmation d'écrasement des données existantes.
Et c'est d'ailleurs sans doute ça qui bloque.
Je ne vois pas l'intérêt d'insérer avant la dernière ligne.
Explique toi en fournissant des copies d'écran de ce que tu cherches à faire.
cwolan
Membre hOOnoraire
Membre hOOnoraire
Messages : 167
Inscription : 14 févr. 2021 22:15

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par cwolan »

Bonjour,
jémy urles a écrit : 23 févr. 2026 12:03 Le bouton "Ajout mesure" insère correctement une ligne en fin de tableau. Le problème se pose lorsqu'on valide sans saisir de valeur, validation par la touche Entrée, auquel cas la dernière ligne ajoutée au tableau apparait en bleu, cellule de la colonne A sélectionnée.(normal car paramètre d'entrée), puis tout appui sur Entrée fait passer à la COLONNE SUIVANTE :shock:
Avec ou sans saisie d'une valeur la validation par Entrée devrait faire passer le focus à la ligne suivante (dans la même colonne). Voilà :D
Selon l'Aide de LibreOffice :
Entrée.png

En plus, comparez le comportement de Calc en fonction du paramètre Appuyer sur Entrée pour coler et vider le presse-papier
dans Outils ⟶ Options ⟶ LibreOffice Calc ⟶ Général.

coché / décoché :
coché.gif
décoché.gif
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 1.1.5 – 4.1.16
LibreOffice 3.3.0.4 – 26.2
Windows 7,10,11 64-bit
jémy urles
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 27 sept. 2024 12:16

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par jémy urles »

Merci cwolan,
:oops: Je n'avais pas remarqué ces "détails"
Avec LibreOfficice le fonctionnement est OK.
Pas d'insertion avec OpenOffice, comment faire ? Principe de base de la macro ?
Merci pour vos :idea:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 25.8.4.2
OpenOffice 4.1.16
Windows 11 Professionnel
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26177
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Comportement surprenant lors de l'extension d'un tableau

Message par Dude »

Bis repetitae :
Dude a écrit : 23 févr. 2026 15:22 Je ne vois pas l'intérêt d'insérer avant la dernière ligne.
Explique toi en fournissant des copies d'écran de ce que tu cherches à faire.