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 :

Supprimer plusieurs cellules contiguës


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 57
    Points : 41
    Points
    41
    Par défaut Supprimer plusieurs cellules contiguës
    Bonsoir,
    Je voudrai supprimer plusieures cellules contiguës sur une même ligne comme le fait la commande contextuelle (Clic droit, supprimer) tout en déplaçant les cellules se trouvant à droite de la sélection vers la gauche.
    Comme j'ai un très gros ficher à traiter je voudrai effectuer cette opération à l'aide d'une macro.
    J'ai essayé de créer un code avec "Enregistrer une macro mais cela ne me convient pas car l'adressage de la sélection est sous la forme "A1:F1" alors que j'ai besoin qu'elle soit sous la forme "0,1:0,5" (je ne suis pas sur de la syntaxe).
    Afin de l'inclure dans une procédure qui balayerai tout le fichier.
    J'ai un écrit un début de code que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Deb
    Dim DOC as object, Les_Feuilles as object,La_Feuille as object,Zone as object
     
       Doc = thisComponent
       Les_Feuilles = Doc.Sheets
       La_Feuille = Les_Feuilles.getByName("Feuille1")
       Zone = La_Feuille.getCellRangeByName("A1:F1")
       Doc.currentController.Select(Zone)
     
    End Sub
    ainsi qu'un petit fichier d'exemple:Exemple 1.ods

    Merci par avance de votre aide.

  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 Supprimer plusieurs cellules contiguës
    Bonjour,

    Voici un exemple en utilisant un mix entre code et dispatcher. Ne connaissant pas ton fichier original, le code ne fonctionne que sur la ligne 3 de ton fichier exemple.
    Si tu veux parcourir ton document d'un coup il va falloir forcément adapter le code et probablement boucler sur toutes les lignes d'une manière séquentielle pour tout décaler

    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
    Sub Main
    Dim DOC as object, Les_Feuilles as object,La_Feuille as object,Zone as object
    Doc = thisComponent
    Les_Feuilles = Doc.Sheets
    La_Feuille = Les_Feuilles.getByName("Feuille1")
     
    'Désignation de la zone en alphanumérique
    Zone = La_Feuille.getCellRangeByName("A3:C3")
     
    'Ou par coordonnées
    'Zone = La_Feuille.getCellRangeByPosition(0,2, 2,2)
     
    Doc.currentController.Select(Zone)
     
    'Utilisation du dispatcher
    Dim dispatcher As Object
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
     
    Dim args1(0) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "Flags"
    args1(0).Value = "L"
     
    dispatcher.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:DeleteCell", "", 0, args1())
    End Sub
    Cordialement
    Libre Office Version: 7.4.3.2 (x64)
    Windows 10

  3. #3
    Membre averti Avatar de Amélie Ladoque
    Inscrit en
    Novembre 2004
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 257
    Points : 317
    Points
    317
    Par défaut
    Bizarre, quelqu'un a posé une question identique ici :
    https://forum.openoffice.org/fr/foru...hp?f=8&t=65090

Discussions similaires

  1. [XL-2007] Si plusieurs cellules vides alors supprimer la ligne correspondante
    Par thomas57 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/10/2015, 10h51
  2. [XL-2010] Supprimer plusieurs lignes si la cellule XX est vide
    Par David62510 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/01/2015, 16h28
  3. [Débutant] Supprimer plusieurs cellules en même temps
    Par rob408231 dans le forum MATLAB
    Réponses: 3
    Dernier message: 01/11/2010, 17h08
  4. Supprimer plusieurs cellules automatiquement
    Par goodsayan dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/11/2007, 13h56
  5. Supprimer plusieurs lignes d'un DBGrid via Popupmenu?
    Par BVK dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2004, 11h27

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