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 contenu Textbox dans presse papier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Par défaut Copier contenu Textbox dans presse papier
    Bonjour a tous

    Voila, j'avais un projet VBA qui permettais de traduire un fichier text contenant des codes mais pour cela je devais au préalable ouvrir le fichier TXT puis copier son contenu avant de lancer la marco.

    Aujourd’hui j'aimerais, faire cela en plusieurs étape mais je rencontre un problème pour mettre le contenu en mémoire.

    Mon USF contient 2 Cmbutton et un Textbox

    1- Recherche du fichier TXT a partir du Cmb1 OK
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pathsource = Application.GetOpenFilename(FilFilter:="(*.txt),*.txt")
    2- Ouverture du fichier OK
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FileNum = FreeFile
    Open Pathsource for input as #FileNum
    3- Lecture du fichier : OK
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    While not EOF(FileNum)
    Line Input #FileNum, TmpStr
    Textbox = Textbox & TmpStr & vbCrLf
    Wend
    A ce niveau pas de problème, mon fichier texte se copie bien dans le textbox mais c'est après pour le copier dans le presse papier que ca pose problème,
    Car la suite de la macro fait appel a du texte copier dans le presse papier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Range'("A1").select
    ActiveSheet.paste
    J'ai essayer avec la commande Clipboard.setText et Clipbord.GetText mais ca ne fonctionne pas en VBA apparemment

    Qqun a une idée ?
    MErci

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Et si tu transfères le contenu du Textbox dans une cellule Excel ?

    Ensuite tu peux récuppérer le contenu autant de fois que nécessaire, et supprimer le contenu de la cellule à la fin de la macro ?

  3. #3
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour zouille;

    J'ai essayer avec la commande Clipboard.setText et Clipbord.GetText mais ca ne fonctionne pas en VBA apparemment
    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
    Public Function settextPutInClipboard(contenu)
     
    On Error Resume Next
    If contenu = "" Then Exit Function
    Dim Presspp As New MSForms.DataObject
     
    Set Pressp = New DataObject
     
    Presspp.settext contenu
    Presspp.PutInClipboard
     
    End Function
     
     
    Public Function GetTextFromClipboard()
     
    On Error Resume Next
     
    Dim Presspp As New MSForms.DataObject
     
    Presspp.GetFromClipboard
    GetTextFromClipboard = Presspp.GetText
     
    End Function

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Par défaut
    merci pour vos réponses

    Le but étant de copier le contenue du textbox dans une page excel ( pas dans une seul cellule mais une ligne dans une ligne) : j'ai bien essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("A1") = textbox.text
    mais ca ne fonctionne pas.

    Je vais essayer ton code

    merci

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Par défaut
    Re

    C'est bon, ca fonctionne : merci pour le code

    J'ai juste utiliser la première partie : settextPutInClipboard
    car pour coller ce text dans la page excel, j'utilise simplement la commande "paste"

    merci

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour,

    en fait il y a bien plus simple et rapide :

    • lecture du fichier texte en mémoire dans une variable tableau


    • traitement sur les éléments du tableau


    • affectation directe du tableau dans une feuille de calculs …

    Bref, pas besoin de Copier / Coller


  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Par défaut
    merci de ta reponse
    Disons que je voulais afficher le contenue du fichier text dans le textbox afin que l’opérateur puisse vérifier que le fichier sélectionné est bien le bon et donc ensuite ( avec un Cmbutton) valider ce fichier .
    Je n'avais trouvé que le copier/coller pour renvoyer le contenu du textbox dans une page excel ( et oui, un débutant cherche toujours une solution simple : quoique !!!) car la suite de la macro analyse ligne par ligne les données collées.

    PS : Au passage, est il possible de supprimer certaines lignes d'un textbox qui ne me servent pas dans ma conversion ? ( disont toutes les ligne se trouvant avant celle commençant par : "A - "

    Merci

Discussions similaires

  1. copier une image du presse papier dans un flash ?
    Par Fritzoune dans le forum Flash
    Réponses: 1
    Dernier message: 17/03/2010, 12h32
  2. Copie image dans presse-papier
    Par axel119 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/11/2007, 23h57
  3. [vb.net] sauver contenu textbox dans un fichier texte
    Par balabonov dans le forum Windows Forms
    Réponses: 5
    Dernier message: 31/08/2006, 11h19
  4. mettre la touche tab dans presse papier
    Par lassmust dans le forum Langage
    Réponses: 1
    Dernier message: 28/04/2006, 15h40
  5. Copier contenu TB_A dans TB_B avec les même champs
    Par snoopy69 dans le forum Access
    Réponses: 3
    Dernier message: 13/10/2005, 16h22

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