[Résolu] [Calc] Saisie de données par formulaire à la première ligne disponible

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
Sid-Le-Bricoleur
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 10 févr. 2025 11:02

[Résolu] [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Sid-Le-Bricoleur »

Bonjour,

Etant donné que ce forum traite des sujets LibreOffice, je me permet de copier ma question d'un autre forum :
J'avais une macro sur VBA qui me permettait facilement de saisir de nouvelles données dès la première ligne vide d'une feuille.
Le problème c'est que je suis sur LibreOffice aujourd'hui et que je n'ai pas pu convertir toutes les fonctionnalités de ma macro.

Je suis donc aller récupérer la fonctionnalité dans les sources suivants : Mais aucun d'entre eux recopié intégralement ne fonctionnait pour mon cas. Je me suis surtout inspiré du premier mais la fonction .AbsoluteName ne fonctionnait pas dans mon script.
Même sur une proposition d'un forum qui tente de répondre à cette problématique (https://www.developpez.net/forums/d2153 ... st11958478), je ne comprends pas le "+2" inséré :

Code : Tout sélectionner

oCurseur.RangeAddress.EndRow+2
Bref, grosso modo, voilà mon script :

Code : Tout sélectionner

 
Sub Enregistrement_Click()
    Dim MonDoc As Object
    Dim MaFeuille As Object
    Dim LigneVide As Long
    Dim ID As Long
    Dim NomMagasin_string As String
    Dim NomMagasin_upper As String
    Dim oCurseur As Object 'curseur sur la cellule
    Dim oPlage As Object 'la plage utilisée
 
    MonDoc = ThisComponent
    MaFeuille = MonDoc.Sheets.getByName("FEUILLE")
    ActivationInterface.getModel
    NomMagasin_string = ActivationInterface.getControl("NomMagasin").Text
 
    If MsgBox("Confirmez-vous l'ajout de cet article ?", 1, "Demande de confirmation d'ajout") = 1 Then
 
        'Determiner LigneVide (dernière ligne disponible)
        oCurseur = MaFeuille.createCursor
        oCurseur.gotoEndOfUsedArea(True)
        LigneVide = oCurseur.getRangeAddress.EndRow
 
        ' Add ID number (incremental)
        ID = MaFeuille.getCellByPosition(0, LigneVide + 1).Value
        ID = LigneVide 
        ' Transfer company information
        If NomMagasin_string <> "" Then
            NomMagasin_upper = UCase(NomMagasin_string)
            MaFeuille.getCellByPosition(1, LigneVide + 1).String = Trim(NomMagasin_upper)
        End If
    End If
End Sub
Mon script actuel fonctionne mais présente deux gros problèmes :
  • La macro parvient à insérer les données à la suite lors de chaque enregistrement de données mais insère celles-ci 2 lignes après la dernière ligne complétée (en d'autres termes, ma macro remplit les données après un espace de 2 lignes), comme illustré ci-dessous :
espace.PNG
  • J'ai un autre souci concernant la boîte de dialogue qui intègre ces données dans ma feuille :
    elle comporte deux zones combinées de formulaires (pas de liens directs avec mon script) sauf que le texte écrit dans l'un est recopié automatiquement dans l'autre, pourquoi ??
doublon.PNG
Qu'est-ce que je dois changer dans mon script et ma boîte de dialogue pour régler ces deux soucis ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 13 févr. 2025 16:53, modifié 3 fois.
Raison : Ajout de [Résolu] la coche seule ne suffit pas.
LibreOffice 24.8.4.2 (X86_64) sous Windows 10 X86_64
Avatar de l’utilisateur
Sid-Le-Bricoleur
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 10 févr. 2025 11:02

Re: Saisie de données par formulaire à la première ligne disponible

Message par Sid-Le-Bricoleur »

Les dernières mises à jour de mon avancée et de ce sujet :
  • J'ai déjà tenté de convertir mon script initial VBA en LibreOffice en utilisant BlackBox mais ça n'a rien donné de fonctionnel et j'ai dû réécrire le tout. Je ne souhaite pas non plus utiliser d'extension VBA ou l'Option VBA Support : l'objectif est que cela fonctionne sous mon libreoffice
  • La propriété EndRow disponible sous VBA .End(xlUp).Row ne fonctionne pas sous BASIC (ou alors je n'ai pas trouvé/compris comment faire).
    C'est justement ce que j'ai utilisé sous VBA et qui présente l'avantage de tenir en une ligne.
  • J'ai récemment découvert que le script ne saute plus de ligne si j'efface le formatage à l'endroit où le script devait insérer des données :
    • Voilà le test AVANT (comme énoncé dans mon premier post), avec le saut de ligne inexpliqué : h**ps://www.developpez.net/forums/attachments/p664349d1739181558/logiciels/logiciels-libres-open-source/bureautique/openoffice-libreoffice/saisie-donnees-formulaire-premiere-ligne-disponible/suppression-formattage.gif/
    • On constate :
      • Que le script identifie correctement la première ligne disponible (ligne 31);
      • Mais que pour une raison encore inexpliquée, le script va insérer les données à la ligne 33 (deux lignes après);
      • Le script ajoute correctement les données suivantes, sans saut de ligne.
    • Puis, voilà le test APRÈS avoir supprimé le formatage des deux premières lignes disponibles qui présentaient des traits de tableau (sans aucun changement dans le code ou paramètres) : h**ps://www.developpez.net/forums/attachments/p664350d1739181603/logiciels/logiciels-libres-open-source/bureautique/openoffice-libreoffice/saisie-donnees-formulaire-premiere-ligne-disponible/apres-suppression-formattage.gif/
    • On constate ici :
      • Que le script identifie la première ligne disponible à la ligne 29 (qui est pourtant déjà remplie de données);
      • Que le script va malgré tout insérer les données à la ligne 30, sans remplacer les données de la ligne 29;
      • Que le script continue pourtant d'insérer les données correctement à la suite, y compris sur les lignes formatées.
Dernière modification par Oukcha le 10 févr. 2025 12:46, modifié 1 fois.
Raison : urls externes neutralisées
LibreOffice 24.8.4.2 (X86_64) sous Windows 10 X86_64
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4254
Inscription : 06 oct. 2008 08:03

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Oukcha »

Bonjour et bienvenue,

Vous avez illustré votre question avec des fichiers en provenance d'un site tiers. Or, souvent ces sites n'assurent aucune pérennité sur les données qu'ils hébergent.

C'est pour cela que nous préférerons que vous utilisiez notre service de pièce-jointe dont le lien est mentionné en bas lorsque vous écrivez votre message : -comment-joindre-un-fichier-sur-ce-forum.html

Veuillez corriger votre message en utilisant le bouton "Editer" (situé à droite) et en mettant en ligne votre fichier correctement.

Vous en remerciant par avance.
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25964
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Saisie de données par formulaire à la première ligne disponible

Message par Dude »

Salut,

Merci de suivre les recommandations du modo pour continuer à recevoir des réponses.
Sid-Le-Bricoleur a écrit : 10 févr. 2025 11:45On constate ici
Pour qu'on puisse constater nous aussi, merci de joindre un document visant à reproduire.
Veille à fournir un classeur simple et exhaustif limité à ce que tu cherches à faire.

On rappelle quand même que la saisie par formulaire dans Calc laisse subodorer un problème XY.
L'alimentation d'information se fait beaucoup plus simplement avec le module Base.
Avatar de l’utilisateur
Sid-Le-Bricoleur
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 10 févr. 2025 11:02

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Sid-Le-Bricoleur »

Oukcha a écrit : 10 févr. 2025 12:47 Bonjour et bienvenue,

Vous avez illustré votre question avec des fichiers en provenance d'un site tiers. Or, souvent ces sites n'assurent aucune pérennité sur les données qu'ils hébergent.

C'est pour cela que nous préférerons que vous utilisiez notre service de pièce-jointe dont le lien est mentionné en bas lorsque vous écrivez votre message : -comment-joindre-un-fichier-sur-ce-forum.html

Veuillez corriger votre message en utilisant le bouton "Editer" (situé à droite) et en mettant en ligne votre fichier correctement.

Vous en remerciant par avance.
Bonjour,

Merci d'avoir approuvé mon post mais vous me mettez dans une sacrée impasse après avoir supprimé mes GIF illustratifs : l'une des deux images animées fait 623Ko (2.84Mo à la base !), en compression maximale et après avoir baissé la résolution de 1920 à 854px (à cette résolution, on arrive à peine lire les caractères).

Comment je fais ?
LibreOffice 24.8.4.2 (X86_64) sous Windows 10 X86_64
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25964
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Dude »

Sid-Le-Bricoleur a écrit : 10 févr. 2025 14:13 Comment je fais ?
Bah déjà tu joins un document comme je te l'ai demandé. :aie:
Parce que les animations n'aideront pas à comprendre ton problème.
Avatar de l’utilisateur
Sid-Le-Bricoleur
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 10 févr. 2025 11:02

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Sid-Le-Bricoleur »

Bonjour,
Dude a écrit : 10 févr. 2025 12:59 Pour qu'on puisse constater nous aussi, merci de joindre un document visant à reproduire.
Veille à fournir un classeur simple et exhaustif limité à ce que tu cherches à faire.
Je peux le faire, mais ça va me demander pas mal de temps supplémentaire alors que l'objectif de ma macro est simplement d'ajouter des données à la suite dans un tableau* LibreOffice.
Bon nombre de portions de code existent pour cette fonction assez générale et je cherche à comprendre pourquoi elles ne fonctionnent pas dans mon fichier.

J'ai même précisé dans mon post que cette fonction existe sous VBA et que je cherchais son équivalent fonctionnel :
Sid-Le-Bricoleur a écrit : 10 févr. 2025 11:45
  • J'ai déjà tenté de convertir mon script initial VBA en LibreOffice en utilisant BlackBox mais ça n'a rien donné de fonctionnel et j'ai dû réécrire le tout. Je ne souhaite pas non plus utiliser d'extension VBA ou l'Option VBA Support : l'objectif est que cela fonctionne sous mon libreoffice
  • La propriété EndRow disponible sous VBA .End(xlUp).Row ne fonctionne pas sous BASIC (ou alors je n'ai pas trouvé/compris comment faire).
    C'est justement ce que j'ai utilisé sous VBA et qui présente l'avantage de tenir en une ligne.
---
Dude a écrit : 10 févr. 2025 12:59 On rappelle quand même que la saisie par formulaire dans Calc laisse subodorer un problème XY.
C'est un bon rappel mais je n'ai pas de problème Y.
Mon problème X est que j'essaie de faire fonctionner ma macro qui à travers une boîte de dialogue, insère les données insérées par l'utilisateur à la suite dans le tableau LibreOffice. Pour détailler ce problème X :
  • L'insertion de données fonctionne mais la partie relative à l'identification de la prochaine ligne disponible pour insérer les nouvelles données fonctionne mal : la ligne identifiée/sélectionnée est souvent incorrecte;
  • Le script actuel, découlant de plusieurs versions corrigées, elles-même inspirées de plusieurs scripts trouvés sur internet, est la version la plus fonctionnelle à ce jour, malgré les bugs évoqués.
Dude a écrit : 10 févr. 2025 12:59 L'alimentation d'information se fait beaucoup plus simplement avec le module Base.
Vous avez sûrement raison. Mais je ne peux pas recourir à cette méthode pour les raisons suivantes :
  • Les données insérées se font par l'utilisateur à travers une boîte de dialogue, pas besoin de SQL ou d'import de données venant d'ailleurs;
  • Le module Base entraînerait une complexification inutile de mon "projet" et de mes besoins qui restent relativement simples;
  • Et parce que je cherche à comprendre et simplifier au maximum le code inséré pour pouvoir l'améliorer par la suite sans prise de tête.
*ce n'est pas vraiment un tableau puisque les tableaux de Microsoft Excel n'existent pas vraiment sous LibreOffice (hors croisé dynamique)
LibreOffice 24.8.4.2 (X86_64) sous Windows 10 X86_64
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25964
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Dude »

Sid-Le-Bricoleur a écrit : 10 févr. 2025 14:39 J'ai même précisé dans mon post que cette fonction existe sous VBA et que je cherchais son équivalent fonctionnel
Dans ce cas, il aurait fallu mettre un titre en rapport avec ce seul problème : équivalent VBA de...
Sid-Le-Bricoleur a écrit : 10 févr. 2025 14:39 Mon problème X est que j'essaie de faire fonctionner ma macro qui à travers une boîte de dialogue, insère les données insérées par l'utilisateur à la suite dans le tableau
Dans ton titre, tu parles de formulaire. Et là, tu parles de dialogue.
Sous Calc, ce sont deux notions distinctes dont les méthodes et propriétés diffèrent.
D'où la demande d'un document...
Avatar de l’utilisateur
Sid-Le-Bricoleur
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 10 févr. 2025 11:02

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Sid-Le-Bricoleur »

Dude a écrit : 10 févr. 2025 14:44
Sid-Le-Bricoleur a écrit : 10 févr. 2025 14:39 J'ai même précisé dans mon post que cette fonction existe sous VBA et que je cherchais son équivalent fonctionnel
Dans ce cas, il aurait fallu mettre un titre en rapport avec ce seul problème : équivalent VBA de...
Oui je pourrais mettre "Equivalent de la propriété VBA .End(xlUp).Row en LibreOffice Basic" mais vu les titres aperçus sur d'autres posts, j'ai préféré faire de même et écrire un titre qui inclut le contexte.

Les autres posts en questions :
  • [Résolu][Calc] Aller à la première cellule vide : viewtopic.php?p=384383#p384383
    • D'ailleurs j'aurai bien répondu à ce post pour ma problématique mais elle est verrouillée car résolue
---

Je rencontre un soucis pour l'upload de mon fichier : j'ai créé une copie anonymisée de mon fichier en suivant votre tuto mais je n'arrive pas à exporter ma boîte de dialogue (du fichier original pour l'importer ensuite dans le nouveau). Quand je clique sur Fichier > Exporter la boîte de dialogue, il ne se passe rien. Même après fermeture de LibreOffice et redémarrage du PC.
Ma version est à jour. Une idée ?

EDIT : J'ai dû recréer la boîte de dialogue (ce qui n'a toujours pas résolu mon problème d'exportation). Voilà le fichier joint :
Exemple.ods
[/size]
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 24.8.4.2 (X86_64) sous Windows 10 X86_64
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 529
Inscription : 11 mai 2013 00:11
Localisation : Aix en Provence

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Noonours »

Bonjour,
Houlà! Beaucoup de liens pour une question qui n'est pas visible/intelligible au premier abord...
Si je comprends bien, tu cherches à récupérer la première ligne vide de ta feuille de calcul?
Sid-Le-Bricoleur a écrit :La propriété EndRow disponible sous VBA .End(xlUp).Row ne fonctionne pas sous BASIC (ou alors je n'ai pas trouvé/compris comment faire).
C'est justement ce que j'ai utilisé sous VBA et qui présente l'avantage de tenir en une ligne.

Comme je vois dans ta signature que tu utilises une version récente de LibreOffice, tu peux utiliser LastRow en faisant appel à la bibliothèque ScriptForge:

Code : Tout sélectionner

Sub Principale()
'[... ici le début du script...]

'si tu cherches à récupérer la dernière ligne utilisée dans la colonne A
print DerLigneUtilisee("A:A")

'[... ici la suite du script...]
End Sub

Function DerLigneUtilisee(sPlage As String)
GlobalScope.BasicLibraries.loadLibrary("ScriptForge") 
Dim oDoc As Object
oDoc = CreateScriptService("Calc", ThisComponent)
DerLigneUtilisee = oDoc.LastRow(sPlage)
oDoc.Dispose()
End Function
Concernant les listes déroulantes qui affichent la même info, c'est qu'elles sont toutes liées à la cellule A1 de ta page :marto:
(onglet "Données... Cellule liée" de la boite de dialogue "COURSESdisplay")
Cordialement,
Noonours procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"

Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER

LibO 24.8.7.2 et OpenOffice 4.1.15 sous Windows 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25964
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Dude »

Qu'est ce qui ne va pas avec ton "exemple" ? :roll:
Je viens de le tester et les données saisies dans le dialogue se reportent bien à la dernière ligne de ta feuille.


Noonours a écrit : 10 févr. 2025 22:05 Concernant les listes déroulantes qui affichent la même info
En plus, ce ne sont pas des zones de liste mais des boîtes combinées.
Beaucoup plus complexe à gérer.


Sid-Le-Bricoleur a écrit : 10 févr. 2025 15:28 Quand je clique sur Fichier > Exporter la boîte de dialogue, il ne se passe rien
Tu devrais rechercher dans ce forum sur la notion de container.
bm92 indique qu'on ne pas exporter directement de la bibliothèque Standard depuis l'IHM.
Avatar de l’utilisateur
Sid-Le-Bricoleur
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 10 févr. 2025 11:02

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Sid-Le-Bricoleur »

Bonjour & merci de ta réponse !
Noonours a écrit : 10 févr. 2025 22:05 Bonjour,
Houlà! Beaucoup de liens pour une question qui n'est pas visible/intelligible au premier abord...
Si je comprends bien, tu cherches à récupérer la première ligne vide de ta feuille de calcul?
Sid-Le-Bricoleur a écrit :La propriété EndRow disponible sous VBA .End(xlUp).Row ne fonctionne pas sous BASIC (ou alors je n'ai pas trouvé/compris comment faire).
C'est justement ce que j'ai utilisé sous VBA et qui présente l'avantage de tenir en une ligne.
C'est exactement ça, je pensais l'avoir bien expliqué pourtant :o

------
Noonours a écrit : 10 févr. 2025 22:05 Comme je vois dans ta signature que tu utilises une version récente de LibreOffice, tu peux utiliser LastRow en faisant appel à la bibliothèque ScriptForge:

Code : Tout sélectionner

Sub Principale()
'[... ici le début du script...]

'si tu cherches à récupérer la dernière ligne utilisée dans la colonne A
print DerLigneUtilisee("A:A")

'[... ici la suite du script...]
End Sub

Function DerLigneUtilisee(sPlage As String)
GlobalScope.BasicLibraries.loadLibrary("ScriptForge") 
Dim oDoc As Object
oDoc = CreateScriptService("Calc", ThisComponent)
DerLigneUtilisee = oDoc.LastRow(sPlage)
oDoc.Dispose()
End Function
Alors pour le coup je n'ai effectivement pas été clair sur la plage analysée par le script (si c'était une colonne, une plage définie ou toute la feuille) : c'est bien sur l'ensemble de la feuille que je cherche à identifier la première ligne vide.

Je ne connaissais pas la bibliothèque ScriptForge. Du coup à partir de la FAQ https://help.libreoffice.org/latest/fr/ ... #RangeName :
je suppose qu'il faut utiliser la propriété $NomDeLaFeuille.* qui permet de sélectionner toutes les cellules utilisées dans la feuille donnée.

En adaptant ta suggestion en conséquence, est-ce que tu confirme que la version suivante est cohérente ?

Code : Tout sélectionner

Sub Principale()
'[... ici le début du script...]

'si tu cherches à récupérer la dernière ligne utilisée dans la colonne A
print DerLigneUtilisee("$FEUILLE.*")

'[... ici la suite du script...]
End Sub

Function DerLigneUtilisee(sPlage As String)
GlobalScope.BasicLibraries.loadLibrary("ScriptForge") 
Dim oDoc As Object
oDoc = CreateScriptService("Calc", ThisComponent)
DerLigneUtilisee = oDoc.LastRow(sPlage)
oDoc.Dispose()
End Function
Autre remarque sur ta suggestion : tu invoque la variable oDoc dans la fonction. La variable oDoc est souvent la variable écrite par défaut sur internet pour définir le document actif.
Sauf que dans mon script initial, j'ai déjà déclaré les variables relatives au document et à la feuille actifs :

Code : Tout sélectionner

Dim MonDoc As Object
Dim MaFeuille As Object
'[...]
MonDoc = ThisComponent '---> Déclare le document actif.
MaFeuille = MonDoc.Sheets.getByName("FEUILLE") '---> Déclare la feuille dans le document actif.
Du coup :
Est-ce que ton oDoc est une nouvelle variable uniquement dédiée au bon fonctionnement de la fonction DerLigneUtilisee ?
Ou je peux utiliser la variable MonDoc (voire MaFeuille), déjà déclarée pour l'ensemble de ma macro et de ses fonctions ?

------
Noonours a écrit : 10 févr. 2025 22:05 Concernant les listes déroulantes qui affichent la même info, c'est qu'elles sont toutes liées à la cellule A1 de ta page :marto:
(onglet "Données... Cellule liée" de la boite de dialogue "COURSESdisplay")
Cordialement,
C'était bien ça le soucis, un truc tout bête, merci :super:
LibreOffice 24.8.4.2 (X86_64) sous Windows 10 X86_64
Avatar de l’utilisateur
Sid-Le-Bricoleur
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 10 févr. 2025 11:02

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Sid-Le-Bricoleur »

Dude a écrit : 11 févr. 2025 07:30 Qu'est ce qui ne va pas avec ton "exemple" ? :roll:
Je viens de le tester et les données saisies dans le dialogue se reportent bien à la dernière ligne de ta feuille.
Explique-moi ou montre-moi comme tu as pu le faire fonctionner car je n'ai rien changé entre mon fichier et le fichier anonymisé/partagé.

Moi, ce que j'obtiens c'est ça : https://www.virustotal.com/gui/url/cd93c1e2571e65d33622309338081379a7ee2bd6e3d0d9573ea3b4b10a8f8a2f/details (voir le lien du gif, également présent dans mon post initial).

----
Dude a écrit : 11 févr. 2025 07:30
Noonours a écrit : 10 févr. 2025 22:05 Concernant les listes déroulantes qui affichent la même info
En plus, ce ne sont pas des zones de liste mais des boîtes combinées.
Beaucoup plus complexe à gérer.
J'ai besoin d'une fonctionnalité qui me permet de saisir du texte mais également pouvoir sélectionner des valeurs textuelles déjà utilisées via une liste déroulante.

----
Dude a écrit : 11 févr. 2025 07:30
Sid-Le-Bricoleur a écrit : 10 févr. 2025 15:28 Quand je clique sur Fichier > Exporter la boîte de dialogue, il ne se passe rien
Tu devrais rechercher dans ce forum sur la notion de container.
bm92 indique qu'on ne pas exporter directement de la bibliothèque Standard depuis l'IHM.
Oui mais ce sujet date de 2007. Aujourd'hui il existe une fonctionnalité permettant normalement d'exporter la boîte de dialogue (qui ne marche pas chez moi) :
Fonction export boîte de dialogue.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 11 févr. 2025 20:52, modifié 1 fois.
LibreOffice 24.8.4.2 (X86_64) sous Windows 10 X86_64
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25964
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Dude »

Sid-Le-Bricoleur a écrit : 11 févr. 2025 16:51 Explique-moi ou montre-moi comme tu as pu le faire fonctionner car je n'ai rien changé entre mon fichier et le fichier anonymisé/partagé.
demo.gif

Sid-Le-Bricoleur a écrit : 11 févr. 2025 16:51 Aujourd'hui il existe une fonctionnalité permettant normalement d'exporter la boîte de dialogue (qui ne marche pas chez moi)
Ouvre un nouveau fil pour ce problème.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
Sid-Le-Bricoleur
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 10 févr. 2025 11:02

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par Sid-Le-Bricoleur »

Dude a écrit : 12 févr. 2025 07:10
Sid-Le-Bricoleur a écrit : 11 févr. 2025 16:51 Explique-moi ou montre-moi comme tu as pu le faire fonctionner car je n'ai rien changé entre mon fichier et le fichier anonymisé/partagé.
demo.gif
Dac, j'avais un message d'erreur ("type de données incohérentes") car une de mes variable ("DateAchat_string") n'était pas correctement bien définie : elle était définie en tant que variable Date alors qu'elle n'est que l’extrait textuel de la variable « DateAchat ».

Concernant l'insertion de la date justement, je rencontre quelques soucis (qu'on peut voir aussi sur nos GIFs) : son insertion ne se fait pas au bon format. J'ai trouvé des lignes de code à adapter & vais essayer de corriger ça.
Dude a écrit : 12 févr. 2025 07:10
Sid-Le-Bricoleur a écrit : 11 févr. 2025 16:51 Aujourd'hui il existe une fonctionnalité permettant normalement d'exporter la boîte de dialogue (qui ne marche pas chez moi)
Ouvre un nouveau fil pour ce problème.
Dac
LibreOffice 24.8.4.2 (X86_64) sous Windows 10 X86_64
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9809
Inscription : 28 août 2010 08:45

Re: [Calc] Saisie de données par formulaire à la première ligne disponible

Message par micmac »

Bonjour,

Si le présent sujet est résolu, Comment clore un sujet lorsqu'il est résolu
;
 Ajout : Vous n'avez pas bien lu comment clore le sujet. 
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS