Copier-coller en VBA vers une autre application [Résolu]

cs_Rakam 9 Messages postés vendredi 20 août 2004Date d'inscription 22 novembre 2004 Dernière intervention - 14 nov. 2004 à 11:50 - Dernière réponse : cs_Rakam 9 Messages postés vendredi 20 août 2004Date d'inscription 22 novembre 2004 Dernière intervention
- 18 nov. 2004 à 20:19
Bonjour à tous

Hier, j'ai posé une question sur la possibilité d'enregistrer au format texte des données enregistrées à partir d'une macro VBA en document word.

J'ai réussi à trouvé un début de soluce.

J'arrive à la fin de ma saisie, à l'aide de code, à copier le contenu de mon fichier créé en doc.
J'arrive également à ouvrir le bloc-notes par une commande shell.

je voudrais donc maintenant, trouver la soluce me permettant maintenant à coller le contenu de mon presse papier dans l'application que je viens d'ouvrir (bloc notes) et l'enregistrer dans cette application en lui donnant un nom par défaut. (param.txt)

Quelqu'un peut-il m'aider SVP. Je touche au but

Merci d'avance.
Afficher la suite 

9 réponses

Meilleure réponse
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 14 nov. 2004 à 13:24
3
Merci
Salut,
Une petite piste :

Dans cet exemple, tu copies le contenu d'une textvox dans le Clipboard et tu le sauve dans un fichier texte. J'espère que ça pourra t'inspirer.

Dim NumFic
NumFic = FreeFile
Clipboard.Clear
Clipboard.SetText Text1.Text
Open "c:\temp\essai.txt" For Output As #NumFic
Print #NumFic, Clipboard.GetText
Close #NumFic


@+

Cordialement, CanisLupus

Merci cs_CanisLupus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Meilleure réponse
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 17 nov. 2004 à 20:52
3
Merci
Peut-être 2ème post, le 1er n'a pas été enregistré apparemment.

Le VBA n'est pas trop ma tasse de thé et Word encore moins mais je viens de tester un truc et ça fonctionne chez moi.

En tenant compte de ton code posté plus haut, ça donnerait ça :

Set myRange = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(1).Range.Start, _
End:=ActiveDocument.Paragraphs(41).Range.End)
myRange.Select
If Selection.Type = wdSelectionNormal Then
Selection.Copy

    Application.DisplayAlerts = wdAlertsNone
    Documents.Add
    Selection.Paste
    ChangeFileOpenDirectory "C:\Temp"
    ActiveDocument.SaveAs FileName:="param.txt", FileFormat:=wdFormatText, _
        LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
        :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
        SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False
    Documents("param.txt").Close
    Application.DisplayAlerts = wdAlertsAll
    
    Shell "C:\Windows\NOTEPAD.EXE c:\temp\param.txt", vbNormalFocus
End If


Bien sûr, tu remplaces les "c;\temp" et "param.txt" par ta directory et ton fichier.

Cordialement, CanisLupus

Merci cs_CanisLupus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

cs_Rakam 9 Messages postés vendredi 20 août 2004Date d'inscription 22 novembre 2004 Dernière intervention - 14 nov. 2004 à 17:09
0
Merci
Merci pour ton aide
J'ai essayé ton morceau de macro qui me met une erreur à la ligne
Clipboard.Clear
si j'enlèce cette ligne, l'erreur se déplaceà la ligne suivante.
Voici le code que j'ai mis pour l'instant. Avec celui-ci, je sélectionne les 43 lignes de mon fichier initial créé sous word.
J'ouvre ensuite NOTEPAD avec une command Shell

Je voudrais copier ensuite ma sélection dans le fichier ouvert avec le blocnotes.

Voici mon code en fin de macro

Set myRange = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(1).Range.Start, _
End:=ActiveDocument.Paragraphs(41).Range.End)
myRange.Select
If Selection.Type = wdSelectionNormal Then
Selection.Copy
End If

Shell ("C:\Windows\NOTEPAD.EXE")

A ce stade, les lignes de mon fichier initial sont sélectionnées et le bloc notes est ouvert .

Que faut-il comme code pour copier la sélection dans un fichier bloc notes
Merci pour votre aide
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 14 nov. 2004 à 17:54
0
Merci
Désolé, mon code est valable avec VB6 mais en VBA WORD, je ne sais pas encore.
Quand tu fais Selection.Copy, normalement ça met la copie dans le presse-papier. Mais je ne sais pas comment, en VBA, récupérer le contenu du presse papier.

Cordialement, CanisLupus
cs_Rakam 9 Messages postés vendredi 20 août 2004Date d'inscription 22 novembre 2004 Dernière intervention - 14 nov. 2004 à 18:59
0
Merci
Merci quand même pour ton aide. Je vais continuer de chercher.
Je finirais peut-être par trouver.
Il existe peut-être une équivalence en vba.
tump 82 Messages postés dimanche 25 juillet 2004Date d'inscription 6 avril 2006 Dernière intervention - 14 nov. 2004 à 19:02
0
Merci
en vba c un peu different de vb6

pour copier du texte vers le presse papier,

dim mydata
Set MyData = New DataObject
MyData.SetText "ou est toto?"
MyData.PutInClipboard

par contre pour le recuperer... d'apres l'aide dexcel,

dim mydata
dim toto as string
Set MyData = New DataObject
mydata.getfromclipboard
toto=mydata.gettext(1)

mais ça marche pô, jsais pas pk...

enfin, ça te fait deja une piste

poum :-)
tump 82 Messages postés dimanche 25 juillet 2004Date d'inscription 6 avril 2006 Dernière intervention - 14 nov. 2004 à 19:04
0
Merci
rectif, sisi ça marche, javais un message derreur pcq mon clipboard etait vide, effectivement...

:-)

poum :-)
cs_Rakam 9 Messages postés vendredi 20 août 2004Date d'inscription 22 novembre 2004 Dernière intervention - 16 nov. 2004 à 20:09
0
Merci
Ok, Bien reçu le message.
Néanmoins, chez moi, le code ne fonctionne pas. J'ai pourtant ma sélection dans le clipboard. je ne rencontre aucune erreur mais la selection n'est pas copiée.
Merci quand même. Je vais chercher. Qui cherche, trouve. J'espère faire partie de ceux-là.
cs_Rakam 9 Messages postés vendredi 20 août 2004Date d'inscription 22 novembre 2004 Dernière intervention - 18 nov. 2004 à 20:19
0
Merci
Impécable, je te remercie. Cela fonctionne impec. Encore merci à toi.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.