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 !!
 

La belette

XLDnaute Nouveau
Re : Macro copier coller notepad vers Excel

VbaCrumble,
désolée je n'avais pas vu ton dernier code. Malheureusement il ne me convient pas puisqu'il ouvre mon fichier avec excel alors qu'il faudrait qu'il s'ouvre avec notepad.

Le code de Romain me convient complètement mais c'est juste qu'il faudrait que ce soit les tabulations qui soient reconnues comme séparateur.
Et vu que je ne comprend pas tout à ce code, j'ai pas encore trouvé comment faire.
D'ailleurs ce qui me semble bizarre c'est que le fichier essai ne soit pas ouvert.

Pierrot, j'ai essayé de faire ce que tu m'as dis avec le code de romain mais ça ne fonctionne pas: nombre d'aguments incorrect.

Bon je dois vous laisser je reviens demain, en espérant que la nuit me porte conseil.

Bonne soirée à tous et encore merci.
 

vbacrumble

XLDnaute Accro
Re : Macro copier coller notepad vers Excel

Re

Pourquoi on ne peu pas l'ouvrir avec Excel ???

Puisque au final tu copies les données dans Excel ????

D'autant plus qu'on pourrait juste faire cela:
Code:
Sub Macro4()
' Macro4 Macro
' Macro enregistrée le 04/05/2009 par VBACrumble
Workbooks.OpenText "C:\TEMP\essai.txt", xlWindows, 1, 1, , , True
ActiveSheet.Copy
ActiveWorkbook.SaveAs "C:\TEMP\essai.xls", xlNormal
Workbooks("essai.txt").Close False
End Sub
 
Dernière édition:

mromain

XLDnaute Barbatruc
Re : Macro copier coller notepad vers Excel

bonjour La belette, le fil

le mieux serait que tu nous envois le fichier texte en question qu'on puisse bosser dirrectement dessus (si en plus tu mets le fichier excel souhaité en résultat, ce serait top :))

a+
 

mromain

XLDnaute Barbatruc
Re : Macro copier coller notepad vers Excel

re,

voici un essai :
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
    tabStr = Split(textFile.ReadLine, vbTab)
    For iStr = LBound(tabStr) To UBound(tabStr)
        curCell.Offset(0, iStr).Value = tabStr(iStr)
    Next iStr
    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

Je vais essayer les codes que vous avez écris mais avant je vous explique. C'est vrai que ça à l'air compliqué d'ouvrir une feuille excel dans notepad pour ensuite la copiée dans excel.
En fait dans cette feuille, j'ai une valeur qui égale soit 7/8 soit 3/4 et il faut que ces valeurs restent comme ça.
Hors quand j'ouvre cette feuille dans excel, 7/8 devient 07-août et 3/4 devient 03-avril et c'est pas bon.
Alors que si je l'ouvre avec le bloc note, que je le copie, je peux avant de le coller formater correctement la cellule dans laquelle va venir s'inscrire cette valeur pour quelle soit correcte.

Bon si vous avez une autre méthode plus simple et qui fonctionne ça me va aussi.

Je vous joins le fichier .txt pour le fichier excel souhaiter à la fin, il suffit d'ouvrir le .txt avec excel.
 

Pièces jointes

  • essai.zip
    3.4 KB · Affichages: 47
  • essai.zip
    3.4 KB · Affichages: 40
  • essai.zip
    3.4 KB · Affichages: 38

mromain

XLDnaute Barbatruc
Re : Macro copier coller notepad vers Excel

re bonjour,

voici un autre essai :
Code:
Sub test()
Dim tabStr() As String
Set myFso = CreateObject("Scripting.FileSystemObject")
Set textFile = myFso.OpenTextFile(Application.GetOpenFilename("Fichier text, *.txt"), 1)
Set curCell = ThisWorkbook.Sheets("Feuil1").Range("A1")
While Not textFile.AtEndOfStream
    tabStr = Split(textFile.ReadLine, vbTab)
    For iStr = LBound(tabStr) To UBound(tabStr)
        If Not IsNumeric(tabStr(iStr)) Then curCell.Offset(0, iStr).NumberFormat = "@"
        curCell.Offset(0, iStr).Value = tabStr(iStr)
    Next iStr
    Set curCell = curCell.Offset(1, 0)
Wend
textFile.Close
Set textFile = Nothing: Set myFso = Nothing
End Sub

a+
 

vbacrumble

XLDnaute Accro
Re : Macro copier coller notepad vers Excel

Re

Essaie la macro ci-dessous
(avec un fichier texte du stye nommé eessai.txt)

7/8TABULATION3/4TABULATION123TABULATIONABCD
7/8TABULATION3/4TABULATION123TABULATIONABCD
7/8TABULATION3/4TABULATION123TABULATIONABCD
7/8TABULATION3/4TABULATION123TABULATIONABCD
Code:
Sub Macro2()
[COLOR="Green"]' Macro2 Macro
' Macro enregistrée le 05/05/2009 par VBACrumble[/COLOR]
Dim a

    a = Array(Array(1, 2), Array(2, 2), _
    Array(3, 2), Array(4, 2))
[COLOR="Green"]'--> fige l'écran[/COLOR]
Application.ScreenUpdating = False
[COLOR="Green"]'ouverture fichier[/COLOR]
Workbooks.OpenText _
        Filename:="C:\TEMP\eessai.txt", _
        Origin:=xlWindows, _
        StartRow:=1, _
        DataType:=xlDelimited, _
        TextQualifier:=xlNone, _
        ConsecutiveDelimiter:=True, _
        Tab:=True, _
        Semicolon:=False, _
        Comma:=False, _
        Space:=False, _
        Other:=False, _
        FieldInfo:=a
[COLOR="Green"]'copie dans un nouveau classeur[/COLOR]
ActiveSheet.Copy
[COLOR="Green"]'sauvegarge en XLS[/COLOR]
ActiveWorkbook.SaveAs "C:\TEMP\eessai.xls", xlNormal
[COLOR="Green"]'Fermeture du fichier TEXTE[/COLOR]
Workbooks("eessai.txt").Close False
[COLOR="Green"]'--> "défige" l'écran[/COLOR]
Application.ScreenUpdating = False
End Sub
 

La belette

XLDnaute Nouveau
Re : Macro copier coller notepad vers Excel

:D YOUPI !!!! :D

Ca fonctionne!

Romain ton code est tout comme il faut, merci.
VbaCrumble, merci beaucoup à toi aussi mais ton code ne correspondait pas totalement à ce que recherchais: il ouvre le fichier dans un nouveau classeur et ses valeurs numériques étaint transformées en texte: impossible de faire de graphique.

Mais encore merci à vous deux vous m'avez été d'une aide précieuse.

Bonne journée à vous, et certainement à bientôt.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom