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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 22
    Points : 22
    Points
    22

    Par défaut Macro Copier/Coller qui ne fonctionne pas à partir d'un bouton de formulaire

    Bonsoir à tous,

    J'ai créé une macro toute bête qui copie une plage de cellules pour en faire un collage spécial de dans un autre onglet. Cette macro fonctionne parfaitement bien lorsqu'on l'exécute à partir du gestionnaire de macros ou d'une commande assignée dans la barre de tâches. Malheureusement, lorsque j'assigne cette macro à un bouton de formulaire, elle ne fonctionne plus (sauf si je l'ai déjà lancé une première fois par le gestionnaire de tâches).
    Merci de votre attention.

  2. #2
    Membre chevronné Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    mars 2007
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mars 2007
    Messages : 1 035
    Points : 2 098
    Points
    2 098

    Par défaut

    Citation Envoyé par Yadutaf Voir le message
    J'ai créé une macro toute bête [...] lorsque j'assigne cette macro à un bouton de formulaire, elle ne fonctionne plus (sauf si je l'ai déjà lancé une première fois par le gestionnaire de tâches).
    « elle ne fonctionne plus » ou « elle ne fonctionne pas » ???
    Dans les 2 cas, c'est plutôt vague comme explication !!!
    Cordialement,
    Patrice
    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 22
    Points : 22
    Points
    22

    Par défaut

    Je sais que ça semble un peu vague mais je ne sais quoi dire d'autre. Pour être plus concis :

    La macro ne fonctionne pas lorsque j'essaie de l'exécuter depuis un bouton de formulaire mais elle fonctionne très bien à partir du gestionnaire de macro ou d'une commande de barre de tâche.

  4. #4
    Membre chevronné Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    mars 2007
    Messages
    1 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mars 2007
    Messages : 1 035
    Points : 2 098
    Points
    2 098

    Par défaut

    Citation Envoyé par Yadutaf Voir le message
    Je sais que ça semble un peu vague mais je ne sais quoi dire d'autre...
    Peut-être le code de la macro !
    Cordialement,
    Patrice
    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 22
    Points : 22
    Points
    22

    Par défaut

    Citation Envoyé par Patrice740 Voir le message
    Peut-être le code de la macro !
    Oui, vous avez raison. C'est une macro que je me suis contenté d'enregistrer avec l'enregistreur de macro :

    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
    48
    49
    50
    51
    52
    53
    sub Copier
    rem ----------------------------------------------------------------------
    rem define variables
    dim document   as object
    dim dispatcher as object
    rem ----------------------------------------------------------------------
    rem get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
     
    rem ----------------------------------------------------------------------
    dim args1(0) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "ToPoint"
    args1(0).Value = "$Tournoi.$A$3:$D$52"
     
    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
     
    rem ----------------------------------------------------------------------
    dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
     
    rem ----------------------------------------------------------------------
    dim args3(0) as new com.sun.star.beans.PropertyValue
    args3(0).Name = "Nr"
    args3(0).Value = 2
     
    dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())
     
    rem ----------------------------------------------------------------------
    dim args4(0) as new com.sun.star.beans.PropertyValue
    args4(0).Name = "ToPoint"
    args4(0).Value = "$A$2"
     
    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
     
    rem ----------------------------------------------------------------------
    dim args5(5) as new com.sun.star.beans.PropertyValue
    args5(0).Name = "Flags"
    args5(0).Value = "SV"
    args5(1).Name = "FormulaCommand"
    args5(1).Value = 0
    args5(2).Name = "SkipEmptyCells"
    args5(2).Value = false
    args5(3).Name = "Transpose"
    args5(3).Value = false
    args5(4).Name = "AsLink"
    args5(4).Value = false
    args5(5).Name = "MoveMode"
    args5(5).Value = 4
     
    dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args5())
     
     
    end sub

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    septembre 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : septembre 2009
    Messages : 84
    Points : 112
    Points
    112

    Par défaut Macro Copier/Coller qui ne fonctionne pas à partir d'un bouton de formulaire

    Bonjour. J'arrive un peu tard sur le sujet. As tu solutionné ton problème ?
    Quand on effectue une action sur un contrôle de formulaire (dans ton cas le bouton), le focus passe sur le formulaire.
    Avant exécution il faut remettre le focus sur ton document Calc :
    Donc le copier coller du dispatcher nécessite de redéfinir le focus sur le Frame.ContainerWindow courant.
    Il faut au début du code de ta macro insérer le code suivant : ThisComponent.CurrentController.Frame.ContainerWindow.setFocus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    sub Copier
    rem ----------------------------------------------------------------------
    rem define variables
     
    ThisComponent.CurrentController.Frame.ContainerWindow.setFocus
     
    dim document   as object
    dim dispatcher as object
    rem SUITE DE TON CODE
    Cordialement
    Libre Office Version: 6.0.1.1 (x64)
    Windows 10

Discussions similaires

  1. Copier Coller qui ne fonctionne pas
    Par maitrebanjo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/05/2015, 12h22
  2. [XL-2003] copier-coller qui ne fonctionne pas
    Par facteur dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2010, 16h34
  3. copier coller qui ne fonctionne pas
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/12/2009, 10h36
  4. [E-07] Copier/Coller qui ne marche pas
    Par bdx-77 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/12/2008, 07h00
  5. Coller qui ne fonctionne pas
    Par cynoq dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/12/2008, 08h31

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