IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

LibreOffice CALC - Macro insertion d'une ligne définie en gardant la mise en forme


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 132
    Points : 59
    Points
    59
    Par défaut LibreOffice CALC - Macro insertion d'une ligne définie en gardant la mise en forme
    Bonjour,

    Cela fait des années que je n'ai plus fait de programmation et je suis perdu ...

    J'aimerai faire quelque chose d'assez simple sur un calc de LibreOffice.

    J'aimerai à partir d'un bouton, insérer une ligne au dessus de la ligne 4 en gardant la mise en forme déjà définie.

    J'ai essayé via l'enregistreur mais il insère une ligne que lorsque je sélectionne une ligne manuellement donc "aléatoirement" et non à la ligne 4 comme je le souhaite.

    Quand je regarde le code je ne comprend plus rien malheureusement ...

    HELP s'il vous plaît

  2. #2
    Membre averti Avatar de Mobydick_62
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2009
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2009
    Messages : 261
    Points : 388
    Points
    388
    Par défaut LibreOffice CALC - Macro insertion d'une ligne définie en gardant la mise en forme
    Bonsoir,

    Voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Sub InsertionLigne()
     Dim oFeuille As Object 
     'Désignation de la feuille
     oFeuille = ThisComponent.getSheets.getByName("Feuille1")
     'Insertion d'une ligne au dessus de la ligne 4
     oFeuille.Rows.insertByIndex(3, 1)
     End Sub
    Cordialement
    Libre Office Version: 7.4.3.2 (x64)
    Windows 10

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Super merci beaucoup, effectivement j'arrive à insérer une ligne en 4.

    Par contre je ne retrouve pas les formules qu'il y avait dans la ligne 4 qui devient ligne 5 après exécution.

    Pour être plus clair, j'ai trois formules dans trois cellules différentes, exemple pour la première cellule : =((N4-M4)/M4).
    Il faudrait donc que lorsque la ligne se crée, elle ait directement cette formule d'incorporée et seulement celle là puisque je ne crée au final qu'une ligne 4 à l'infinie en fonction de mes besoins.


    Comment faire ?

    Merci d'avance

  4. #4
    Membre averti Avatar de Mobydick_62
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2009
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2009
    Messages : 261
    Points : 388
    Points
    388
    Par défaut LibreOffice CALC - Macro insertion d'une ligne définie en gardant la mise en forme
    Bonsoir,

    Il est généralement demander dans ce forum comme bien d'autres de fournir leur fichier (préalablement anonymiser si besoin) afin de pouvoir aider au mieux les demandeurs dans leur projet.
    A défaut j'ai créé un fichier test afin de vérifier mon code et personnellement je ne reproduis pas ce problème. Je précise que ma ligne 3 et 4 avant insertion sont identiques. Donc la ligne insérée conserve bien le format des autres lignes d'origine.
    Partant de ta réflexion je vais voir ce qui pourrait "clocher" mais sans fichier exemple......

    Cordialement
    Libre Office Version: 7.4.3.2 (x64)
    Windows 10

  5. #5
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Ah d'accord, je le saurai pour la prochaine fois, merci du conseil.

    J'ai trouvé la réponde donc je cloture ce sujet. En voici la réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'dbt insertion des formules en ligne 4
     Dim oDoc As Object , Feuille As Object 
     Dim Cellule As Object
      oDoc = ThisComponent 
      Feuille = oDoc.getSheets.getByName("Feuille1") 
     
      Cellule = Feuille.getCellRangeByName("P4") 
      Cellule.FormulaLocal = "=((N4-M4)/M4)"
      Cellule = Feuille.getCellRangeByName("Q4") 
      Cellule.FormulaLocal = "=((O4-M4)/M4)"  
      Cellule = Feuille.getCellRangeByName("T4") 
      Cellule.FormulaLocal = "=((S4-R4)/R4)"  
    'fin insertion des formules en ligne 4
    Citation Envoyé par Mobydick_62 Voir le message
    Bonsoir,

    Il est généralement demander dans ce forum comme bien d'autres de fournir leur fichier (préalablement anonymiser si besoin) afin de pouvoir aider au mieux les demandeurs dans leur projet.
    A défaut j'ai créé un fichier test afin de vérifier mon code et personnellement je ne reproduis pas ce problème. Je précise que ma ligne 3 et 4 avant insertion sont identiques. Donc la ligne insérée conserve bien le format des autres lignes d'origine.
    Partant de ta réflexion je vais voir ce qui pourrait "clocher" mais sans fichier exemple......

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Rajouter une ligne dans un tableau de mise en forme
    Par orguyrine006 dans le forum Excel
    Réponses: 1
    Dernier message: 14/03/2019, 16h29
  2. Recopier un nombre variable de lignes et en gardant la mise en forme
    Par Novice72 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/08/2016, 14h00
  3. Insertion d'une ligne via macro + copie de la mise en forme conditionnelle
    Par JustyDark dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/04/2015, 08h43
  4. [XL-2007] Macro avant insertion d'une ligne
    Par Guigz-64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/12/2012, 14h34
  5. [OpenOffice][Tableur] Macros Calc : lancement à partir d'une ligne de commande et passage d'arguments
    Par lizzy.stak dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 11/05/2009, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo