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 :

mMcro effacement lignes:plage etc [LibreOffice][Tableur]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut mMcro effacement lignes:plage etc
    les pros

    sous LO, j'ai un classeur "mois" dans lequel il y a plusieurs feuilles, et a l'intérieur de ces feuilles x zones que je complète chaque jour , avec des calculs pour chaque zone,ex; ligne 3=noms , ligne 4 à 31 =données à complèter chaque jour, ligne 32 = calcul
    ensuite ligne 35= noms, ligne 36 à 63 = donée...., lignes 64 = calcul
    etc et ce sur plusieurs colonnes ex A nom 1 , D Nom 2, etc
    donc quand il y a changement de mois, je fais une copie du dernier classeur, le renomme au mois suivant, et efface sur chaque feuille les lignes "données"
    évidemment je me sers le plus possible des sélections multiples dans les feuilles et et sélections multiples des feuilles identiques (oui car touts les feuilles n'ont pas laes mêmes zones de données)
    voilà la présentation du classeur en espèrant être clair

    ce que je voudrait faire, c'est une automatisation via une macro de l'effacement des lignes
    j'ai essayé avec l'enregistreur, mais comme il ne prend pas les déplacements de souris, je n'arrive pas à sélectionner une zone à effacer sauf à le faire cellule par cellule (mais là je suis à la colonne FKsur 27 lignes, multiplié par 4) ce qui serait fastidieux
    exempleEssai_macro.ods où je veux effacer lignes 3 à 10 et lignes 19 à 26 en une seule macro
    j'ai d'autres questions mais je verrais à fur et à mesure en fonction de ce que j'arriverais à comprendre de votre aide

    merci d'avance
    débitant

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Une petite recherche dans les tutoriels : Utiliser oBasic dans le Tableur (Calc)

    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Bonjour et merci

    cet après midi j'étais sur mon pc fixe et j'avais bien vu ce tuto mais ne l'avais pas parcouru car il était en anglais et pas eu le moyen de le passer
    en français ce soir je suis sur mon laptop et là il est en français , bizarre tout ça
    je vais le parcourir et reviendrais si je coince sur quelque chose

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    re

    donc j'ai bien lu, j'ai réussi a effacer ce que je voulais sur les zones que je voulais
    maintenant il faut que j'arrive à trouver comment effacer sur deux feuilles en même temps, puisque les zones sont identiques

    pour ce soir vais faire dodo

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    bonsoir

    je reviens vers vous, car je pensais que tout s'effaçait avec la macro, sauf qu'en essayant sur le bon classeur, elle n’efface pas les cellules formatées en date,
    si vous avez une idée

    merci

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par débitant Voir le message
    si vous avez une idée
    Tout est dit dans ce paragraphe : ici. Il faut combiner toutes les possibilités
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    merci

    mais je suis désolé mais ça éfface tout : texte, valeur, formule
    mais pas les cellules où il y a une date

    voici ma macro adaptée au classeur mis en PJ (la feuille de calcul étant nommée AB bien sur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    REM  *****  BASIC  *****
     
    Sub RaZ()
     Dim monDocument As Object
     Dim lesFeuilles as Object
     Dim maFeuille As Object
     Dim maCellule As Object
     
        monDocument = ThisComponent
        lesFeuilles = monDocument.Sheets
        maFeuille = lesFeuilles.getByName("AB")
     
        aEffacer = com.sun.star.sheet.CellFlags.STRING +_
        			com.sun.star.sheet.CellFlags.VALUE +_
        			com.sun.star.sheet.CellFlags.FORMULA
     
        maCellule = maFeuille.getCellRangeByName("Données_1")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("Données_2")
        maCellule.clearContents(aEffacer)
     
    End Sub
    débitant

  8. #8
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    aEffacer = com.sun.star.sheet.CellFlags.STRING +_
           com.sun.star.sheet.CellFlags.VALUE +_
           com.sun.star.sheet.CellFlags.FORMULA + _
           com.sun.star.sheet.CellFlags.DATETIME
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    merci

    j'avais essayé cette syntaxe"....CellFlags.DATE"
    a tout hasard mais j'ai eu un retour d'erreur évidemment,
    je n'étais pas passé loin
    je vais tester

    merci en attendant


    édit c'est ok
    maintenant je n'ai plus qu'à rechercher comment faire un bouton d'appel

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    bonjour

    me revoilà, j'ai fait cette macro qui fonctionne bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Sub RaZ()
     Dim monDocument As Object
     Dim lesFeuilles as Object
     Dim maFeuille As Object
     Dim maCellule As Object
     
        monDocument = ThisComponent
        lesFeuilles = monDocument.Sheets
        maFeuille = lesFeuilles.getByName("AB")
     
        aEffacer = com.sun.star.sheet.CellFlags.STRING +_
        			com.sun.star.sheet.CellFlags.VALUE +_
        			com.sun.star.sheet.CellFlags.DATETIME
     
        maCellule = maFeuille.getCellRangeByName("Don_ab_1")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("Don_ab_2")
        maCellule.clearContents(aEffacer)
     
         maCellule = maFeuille.getCellRangeByName("Don_ab_3")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("Don_ab_4")
        maCellule.clearContents(aEffacer)
     
        monDocument = ThisComponent
        lesFeuilles = monDocument.Sheets
        maFeuille = lesFeuilles.getByName("CD")
     
        aEffacer = com.sun.star.sheet.CellFlags.STRING +_
        			com.sun.star.sheet.CellFlags.VALUE +_
        			com.sun.star.sheet.CellFlags.DATETIME
     
        maCellule = maFeuille.getCellRangeByName("Don_cd_1")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("Don_cd_2")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("Don_cd_3")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("Don_cd_4")
        maCellule.clearContents(aEffacer)
     
    End Sub
    je voudrais savoir si il y a possibilité d'améliorer le script, et dans ce cas comment?
    car dans mon classeur opérationnel, j'ai plusieurs feuilles avec les mêmes plages à effacer (dans l'ex ab et cd ont les mêmes plages
    enfin vous voyez ce que je veux dire (du moins j'espère)

    débitant

  11. #11
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Salut,

    Quelque chose comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Dim monDocument As Object
    Dim lesFeuilles as Object
    Dim maFeuille As Object
    Dim maCellule As Object
     
    Sub RaZ()
        Call SuppFeuille("AB")
        Call SuppFeuille("CD")
    End Sub
     
    Function SuppFeuille (NomFeuille as string)
        monDocument = ThisComponent
        lesFeuilles = monDocument.Sheets
        maFeuille = lesFeuilles.getByName(NomFeuille)
     
        aEffacer = com.sun.star.sheet.CellFlags.STRING +_
                    com.sun.star.sheet.CellFlags.VALUE +_
                    com.sun.star.sheet.CellFlags.DATETIME
     
        maCellule = maFeuille.getCellRangeByName("A1:A8")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("C1:C8")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("E1:E8")
        maCellule.clearContents(aEffacer)
     
        maCellule = maFeuille.getCellRangeByName("G1:G8")
        maCellule.clearContents(aEffacer)
    End Function
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    salut

    merci de ta réactivité
    je vais étudier ton script et essayer de le comprendre et transposer

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    super j'ai même réussi à effacer d'autres plages sur d'autres feuilles
    après quelques tatonnements

    j'ai réussi à faire un bouton pour déclencher cette macro, par contre je n'arrive pas à mettre le texte
    que je veux à la place de "bouton"

    et une dernière chose (en espérant ne pas trop abuser), quand je protège la feuille où j'ai mis ce bouton,
    avec aucune sélection, ça ne bloque pas le bouton, est il possible de le bloquer (ceci pour éviter un
    appui intempestif de tiers personne)

    en attendant je te remercie de ton aide

  14. #14
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par débitant Voir le message
    j'ai réussi à faire un bouton pour déclencher cette macro, par contre je n'arrive pas à mettre le texte
    que je veux à la place de "bouton"
    Clic droit sur le bouton et prendre "Contrôle..." ensuite dans l'onglet "Général", tu as le texte du bouton.


    Citation Envoyé par débitant Voir le message
    et une dernière chose (en espérant ne pas trop abuser), quand je protège la feuille où j'ai mis ce bouton,
    avec aucune sélection, ça ne bloque pas le bouton, est il possible de le bloquer (ceci pour éviter un
    appui intempestif de tiers personne)
    Pourquoi ne pas mettre un message qui demande si l'on veut ou pas supprimer les données, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub RaZ()
        If MsgBox("Voulez-vous effacer les données ?", 292) = 7 Then Exit Sub
        Call SuppFeuille("AB")
        Call SuppFeuille("CD")
    End Sub
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    ok merci

    c'est tellement simple que je n'y avait pas pensé

    par contre pour bien comprendre à quoi correspondent "292" et "= 7"

  16. #16
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Les explications du msgbox sont .

    Le 7 est la conversion numérique du non du msgbox.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    je te remercie de nouveau pour ces infos

    à priori je vais mettre résolu car j'ai pu faire tout ce que je voulais et je ne vois pas d'autres questions

    encore merci et a plus

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/11/2006, 15h28
  2. [VBA-E]Efface ligne ne correspondant pas a mon Secteur
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/08/2006, 09h40
  3. [VBA-E]Effacer ligne si une autre ligne est identique
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/08/2006, 13h41
  4. PHP-cli et dessin de lignes, courbes, etc
    Par samoh dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/01/2006, 23h38
  5. effacer ligne arriere d'une GlutSphere
    Par killerjeff dans le forum OpenGL
    Réponses: 7
    Dernier message: 20/12/2005, 10h00

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