Macro copier coller notepad vers Excel

SKOBLAR

XLDnaute Junior
Salut a tous,

pourriez-vous controler le code ci-dessous ? Je cherche a copier des infos d'un bloc note et de les coller dans excel, il semble que le collage ne fonctionne pas

RetVal = Shell("C:\WINDOWS\notepad.exe C:\04-13-2009\AG02AG02-5.txt", 1)

Application.SendKeys "^A"

Application.SendKeys "^C"

Application.Workbooks("Book6").Sheets("sheet1").Range("A1").Activate

ActiveSheet.Paste


merci !!
 

ledzepfred

XLDnaute Impliqué
Re : Macro copier coller notepad vers Excel

salut skobar,

je pense que le souci vient de la ligne suivante :
Code:
Application.Workbooks("Book6").Sheets("sheet1").Range("A1").Activate
chez moi, ceci fonctionne
Code:
Application.Workbooks("classeur1.xls").Sheets("feuil1").Range("A1").Activate

mets donc l'extension .xls à la suite de book6, verifie que ton feuillet s'appelle bien sheet1 (si tu souhaites coller les données dans le premier feuillet quel que soit son nom, essayes sheets(1) )

A part ça ton code fonctionne

a+

A+
 

kjin

XLDnaute Barbatruc
Re : Macro copier coller notepad vers Excel

Bonsoir,
Essaie peut-être comme ceci
Code:
'...
RetVal = Shell("C:\WINDOWS\Notepad.exe C:\04-13-2009\AG02AG02-5.txt", 1)
Application.SendKeys "^A"
Application.SendKeys "^C"
Sheets(1).Range("A1").Activate
Application.SendKeys "^V"
'...
A+
kjin
 

La belette

XLDnaute Nouveau
Re : Macro copier coller notepad vers Excel

Bonjour à toutes et à tous,

Après une petite recherche dans le forum, j'ai trouvé ce fil qui correspond totalement à ce que je recherche mais qui malheureusement ne fonctionne pas bien dans mon appli.

En effet, j'arrive sans problème à ouvrir mon fichier dans le bloc note mais lorsque je demande "sélectionner tout" via "senkeys"^A", rien n'est sélectionner. Donc impossible de coller quoi que ce soit dans mon fichier excel.

Voici mon code:
fichier = "essai.txt"
MonExe= Shell("c:\windows\notepad.exe c:\" & fichier,1)
AppActivate MonExe
Application.Sendkeys "^A"
Application.Sendkeys "^C"
Workbooks("test.xls").sheets("Feuil2").activate

blablabla.....

Auriez vous une idée sur ce qui coince?
Merci.
 

vbacrumble

XLDnaute Accro
Re : Macro copier coller notepad vers Excel

Bonjour



Tu avais essayé ceci ;)


PS: N'oublie de changer le path
Code:
Sub testOK()
Dim fichier$, MonExe
fichier = "essai.txt"
MonExe = Shell("c:\windows\notepad.exe c:\temp\" & fichier, 1)
Application.CutCopyMode = False
SendKeys "%E{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}~^C%{F4}"
ThisWorkbook.Sheets(1).Activate
ActiveSheet.Paste
End Sub
 

La belette

XLDnaute Nouveau
Re : Macro copier coller notepad vers Excel

bonjour VbaCrumble,

Et merci pour ta réponse qui malheureusement ne fonctionne pas.
En tout cas pas chez moi.
La seule chose que ça copie c'est {down}
Donc j'en suis toujours au même point.

Ca fonctionne pour toi ça?
Une autre idée peut être?
 

vbacrumble

XLDnaute Accro
Re : Macro copier coller notepad vers Excel

Re


Oui ca fonctionne

(J'ai pour habitude (sauf erreur de frappe) de poster du code VBA qui fonctionne :rolleyes: sinon je ne le posterai pas)

Celui-ci aussi fonctionne et il fait la même chose que le précédent
(les SendKeys en moins) ;)
Code:
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 04/05/2009 par VBACrumble
'
Dim TWBK As Workbook, SWBK As Workbook
Set TWBK = ThisWorkbook
Dim fichier$, a
fichier = "C:\TEMP\essai.txt"
Application.ScreenUpdating = False
Workbooks.OpenText fichier, xlWindows, 1
Set SWBK = ActiveWorkbook
a = SWBK.ActiveSheet.UsedRange.Value
SWBK.Close False
TWBK.Sheets(1).Range("A1").Resize(UBound(a), 1).Value = a
Application.ScreenUpdating = True
End Sub
 

mromain

XLDnaute Barbatruc
Re : Macro copier coller notepad vers Excel

bonjour le fil,

voici une autre solution (sans SendKeys aussi) :
Code:
Sub test()
fichier = "essai.txt"
Set myFso = CreateObject("Scripting.FileSystemObject")
Set textFile = myFso.OpenTextFile("c:\windows\notepad.exe c:\" & fichier, 1)
Set curCell = ThisWorkbook.Sheets("Feuil1").Range("A1")
While Not textFile.AtEndOfStream
    curCell.Value = textFile.ReadLine
    Set curCell = curCell.Offset(1, 0)
Wend
textFile.Close
Set textFile = Nothing: Set myFso = Nothing
End Sub

a+
 

La belette

XLDnaute Nouveau
Re : Macro copier coller notepad vers Excel

VbaCrumble,
Alors cette fois ça pourrais presque fonctionner.
Je serais tentée de dire que c'est le usedrange qui pose problème mais je viens de regarder à quoi il correspond et apparement, il sélectionne tout le tableau.
Donc je ne comprend pas pourquoi je n'ai que la colonne A.

mRomain,
J'ai une erreur sur la ligne set textfile qui me dit nom ou numéro de fichier incorrect, pourtant, j'ai vérifié, j'ai bien mon fichier essai dans c:

Merci à vous en tout cas pour votre aide, pour le moment ce que vous me proposez me dépasse un peu mais on va y arriver! Enfin j'espère ...:eek:
 

mromain

XLDnaute Barbatruc
Re : Macro copier coller notepad vers Excel

autant pour moi : trop de copier/coller tue le copier/coller

voici le code :
Code:
Sub test()
fichier = "essai.txt"
Set myFso = CreateObject("Scripting.FileSystemObject")
Set textFile = myFso.OpenTextFile("c:\" & fichier, 1)
Set curCell = ThisWorkbook.Sheets("Feuil1").Range("A1")
While Not textFile.AtEndOfStream
    curCell.Value = textFile.ReadLine
    Set curCell = curCell.Offset(1, 0)
Wend
textFile.Close
Set textFile = Nothing: Set myFso = Nothing

a+
 

vbacrumble

XLDnaute Accro
Re : Macro copier coller notepad vers Excel

Re

La normalement ut as tout le fichier texte non ?


Code:
Sub Macro4()
[COLOR="Green"]' Macro4 Macro
' Macro enregistrée le 04/05/2009 par VBACrumble[/COLOR]
Dim TWBK As Workbook, SWBK As Workbook
Set TWBK = ThisWorkbook
Dim fichier$, b&, a
fichier = "C:\TEMP\essai.txt"
Application.ScreenUpdating = False
Workbooks.OpenText fichier, xlWindows, 1
Set SWBK = ActiveWorkbook
With SWBK
    With .ActiveSheet.Range("A1")
        With .CurrentRegion
            a = .Value
            b = .Columns.Count
        End With
    End With
    .Close False
End With
TWBK.Sheets(1).Range("A1").Resize(UBound(a), b).Value = a
Application.ScreenUpdating = True
End Sub
 

La belette

XLDnaute Nouveau
Re : Macro copier coller notepad vers Excel

mRomain,

Le résultat est...comment dire...surprenant?
J'ai des lignes avec toutes mes données qui ne sont pas séparées, je te dis pas la jungle la dedans.

Comment mettre dans ton code que le séparateur de colonne est la tabulation?
 

vbacrumble

XLDnaute Accro
Re : Macro copier coller notepad vers Excel

RE


Évidemment j'ai testé avec comme séparateur l'espace

Avec cette ligne

Workbooks.OpenText fichier, xlWindows, 1, xlDelimited, , , True

à la place l'autre

Ca devrait le faire non ?
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 267
Membres
103 502
dernier inscrit
talebafia