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

Macros et VBA Excel Discussion :

Copier les données d'une cellule dans une Application non Office en VBA [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut Copier les données d'une cellule dans une Application non Office en VBA
    Bonjour,

    A la fin d'une macro, j'aimerai copier une cellule pour coller le résultat dans un autre programme
    Seul probleme, si je copie betement la cellule, le clipboard retient que c'est une cellule et le coller foire
    Manuellement, je fais F2, je selectionne (home + maj) et puis je copie. Et comme ca, au lieu de copier une cellule, je copie une chaine de caractere et ca fonctionne
    Mais l'enregisteur ne macro ne capte rien quand je fais ca.

    Est-ce possible de le faire en vba aussi?

  2. #2
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 68
    Points : 72
    Points
    72
    Par défaut
    Je ne m'y connais pas trop en vba mais as tu essayé de copier la valeur de la cellule ? ( .value)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 75
    Points : 90
    Points
    90
    Par défaut
    Je ne suis pas sûr que ce soit vraiment ce que tu cherches mais bon...
    Tu peux peut-être utiliser la propriété 'characters' pour sélectionner le texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Characters(1,len(Selection.Value))

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    dans quel autre programme, s'il est pilotable par vba, l'approche est différente.

    pour avoir de meilleure réponses, changes ton intitulé de message pour un truc du genre :

    copier la valeur d'une cellule dans un document Word ou dans un Graph TrucMachin...

    cordialement,

    Didier

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    la destination finale n'est pas pilotable par excel, c'est l'erp de ma boite
    Par contre, pour une procédure qui est a faire plusieurs fois par semaine, je dois prendre un résultat dans excell et le copier dans l'erp.

    J'ai automatisé autant que je pouvais la partie excel (ca me semblait débile de devoir chaque fois réécrire les formules manuellement) mais je dois encore a la fin aller dans la cellule et la copier.

    Je préferais, tant qu'a faire, n'avoir plus qu'a coller

    @ larryj, je n'arrive pas a combiner ca avec un copy

    @ isfet, je sais comment récuperer la value dans une variable, mais je ne trouve pas comment mettre ca dans mon clipboard
    si je fais un truc du genre ca ne fonctionne pas

  6. #6
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 68
    Points : 72
    Points
    72
    Par défaut
    oui exact, ces données reste dans excel et ne vont pas reelement dans le clipboard, je découvre vba depuis deux semaines mes connaissances ne vont pas beaucoup plus loin désolé ^^

  7. #7
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Points : 307
    Points
    307
    Par défaut sauvegarde valeur
    Bonjour,

    Il y a d'abord une question de syntaxe :

    Ca ne fonction pas , il faut faire
    et le clipboard est chargé et l'on peut utiliser la valeur dans une autre application.Je le fais courament.

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    si on fait
    on peut copier dans certaines applications et pas dans d'autre

    l'erp tolere les copier collé, mais il a besoin que ca soit une chaine de caractere et uniquement ca

    Or si l'emploie la méthode que tu indiques, il copie la cellule (si tu en veux la preuve, met une bordure a ta cellule, copie la avec ton code et puis colle dans un autre cellule, tu auras la bordure qui viendra avec)
    Il sauvegarde le texte ET des informations bonus, et ces informations bonus empechent de copier dans certain programme

    Par contre, fait F2, et puis maj + home et puis crtl + c, clique dans une autre cellule, colle et tu verras qu'on a seulement la chaine de texte et pas les paramettre de cellule

    En plus de l'erp, c'est aussi bloquant dans SQL Server Entreprise Manager, je ne peux pas, quand je fais clic droit sur une table, et puis query, copier coller dans la colone critere de la requete coller quelque chose qui soit une cellule

    Je suis parfaitement consciente que ca marche sans probleme avec la majorité des programme. En général je me contente de copier la cellule et ca marche tres bien
    Par contre, comme il a des programmes qui refuse de laisser coller une cellule, j'aimerai savoir s'il y a moyen de mettre dans le clipboard uniquement la chaine de caractere. Et si oui, le quel

    Ca serait en office, je pourrais m'en tirer avec un past unformated text ou un paste value, mais l'erp ne propose pas d'équivalent

    Donc j'ai vraiment besoin d'exactement ce que je demande, comment mettre le contenu d'une cellule et uniquement le contenu de la cellule dans le clipboard via le vba
    Je présume que ca doit etre possible, mais je ne trouve aucune syntaxe qui fonctionne

  9. #9
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    le souci est en fait qu'il y a le presse papier Office et celui Windows qui n'ont pas les même caractéristiques, mais qui peuvent interagir.

    essaies ainsi :

    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
    Sub AlimPressePapier()
    Dim MyData As DataObject
     
    Set MyData = New DataObject
    MyData.settext ActiveCell, Format:=1
    MyData.PutInClipboard
    ' et tu colles dans l'appli voulue...
    End Sub
     
     
    Sub ménage()
    Dim MyData As DataObject
     
    Set MyData = New DataObject
    MyData.settext ""
    MyData.PutInClipboard
    End Sub
    rajout :
    il faut activer Microsoft Forms 2.0 Object Library dans tes références VBAProject de l'éditeur VBA !

    cordialement,

    Didier

  10. #10
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    oh, j'ignorais qu'il y avait deux press papier différents. Tu as raison, c'est surement ca le probleme, j'arrive avec des données offices en plus et il n'aime pas ca

    j'ai une erreur de compliation "User-defined type note defined" et il suligne "MyData As DataObject"

    Il faut que j'installe quelque chose de particulier pour pouvoir utiliser DataObject comme type?

  11. #11
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Oups ! excuses-moi,

    il faut activer Microsoft Forms 2.0 Object Library dans tes références VBAProject de l'éditeur VBA !

    cordialement,

    Didier

  12. #12
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    Victoire, ca fonctionne

    merci beaucoup

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

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 17h01
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  4. Copier les données de plusieurs colonnes dans une nouvelle feuille
    Par lolonico1974 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2010, 07h51
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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