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

Excel Discussion :

Copier coller valeur la somme de cellules non contigües [XL-2013]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Copier coller valeur la somme de cellules non contigües
    Bonjour,
    Supposons une base de données de nombres. Je sélectionne alors, des cellules non contigües qui peuvent changer (j'utilise alors le "selection" dans VBA). Dans la barre d'état apparaît la somme de ces cellules. Je voudrais pouvoir coller cette valeur dans n'importe quelle cellule de n'importe quel fichier (excel, ce serait déjà pas mal). Autrement dit, je sélectionne ces cellules, je les copie (ce qui n'est pas possible avec un CTRL - C), et je colle la somme valeur dans la cellule sur laquelle je pointe ma souris. Dans l'idéal, j'aimerais pouvoir faire, après sélection, une bête manipulation dans le genre ctrl-c, ctrl-v. Je parviens bien à obtenir une msg box qui me renvoie la somme, mais ça s'arrête là.
    Quelqu'un?
    Merci d'avance.

  2. #2
    Membre éprouvé
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Points : 1 141
    Points
    1 141
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Sub SumToClipboard()
        Dim tempValue As New DataObject
        tempValue.SetText Application.WorksheetFunction.Sum(Selection)
        tempValue.PutInClipboard
    End Sub
    Après avoir utilisé la macro, allez sur la cellule dans laquelle vous souhaitez coller la somme et faîtes Ctrl+v.

    Deux remarques:
    • Pour éviter des problèmes, il va vous falloir ajouter un test afin d'être sûr que la sélection est bien un ensemble de cellules (et pas une forme ou tout autre objet),
    • Pour éviter de devoir lancer la macro à la main, créez un raccourci clavier dédié.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Merci.
    Hélas, VBA me renvoie une erreur "type défini par l'utilisateur non défini". Il semble que ce soit le "DataObject" qui ne lui plaise pas.

  4. #4
    Membre régulier Avatar de ylemasson
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 52
    Points : 70
    Points
    70
    Par défaut
    Bonjour,

    En fait il faut rajouter la référence vers MS FORM pour le type dataobject existe

    Cdlt

    Citation Envoyé par gilgillen Voir le message
    Merci.
    Hélas, VBA me renvoie une erreur "type défini par l'utilisateur non défini". Il semble que ce soit le "DataObject" qui ne lui plaise pas.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2017
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Merci à vous deux. C'est nickel et sera bien utile.

  6. #6
    Membre éprouvé
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Points : 1 141
    Points
    1 141
    Par défaut
    Bonjour Yves,

    J'ignorais que cet objet faisait partie d'une référence à ajouter.
    Merci à vous pour cette précision.
    Et bon week-end, évidemment

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/02/2021, 18h34
  2. Réponses: 17
    Dernier message: 10/07/2018, 10h18
  3. [LibreOffice][Tableur] Copier une valeur jusqu'à la prochaine cellule non vide
    Par niko54 dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 02/05/2017, 09h47
  4. [VBA-E] Copier valeur jusqu'à la prochaine cellule non vide
    Par desdenova dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2008, 11h22
  5. Copier/coller valeurs d'une cellule si fichier existant
    Par eddyG dans le forum VBA Access
    Réponses: 7
    Dernier message: 16/10/2007, 13h50

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