OVH Cloud OVH Cloud

Demande d'aide sur macro

15 réponses
Avatar
gandi
Bonjour,

Ci-dessous une macro placée dans un document "word" et qui éxécute les
fonctions suivantes:
1. Sélection du document word
2. Copie du document Word dans le presse-papier
3. Ouverture d'un classeur excel nommé corriger.xls et placé dans le
répertoire correcauto.
Ma question est la suivante:
Comment prolonger cette macro de telle sorte que ce qui est dans le
presse papier, vienne se mettre dans la colonne A, à partir de A1

Mercid'avance

Sub versExcel()
'
'
Selection.Wholestory
Selection.Copy
Shell "Excel.exe ""c:\correcauto\corriger.xls""", vbNormalFocus

End Sub

10 réponses

1 2
Avatar
Clément Marcotte
Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub
Avatar
gandi
Je vais voir, je te tiens au courant. Merci!

Clément Marcotte a écrit:
Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub



Avatar
gandi
Rebonjour,
Je viens de tester ta macro et elle n'a pas l'air de fonctionner
Quand j'essaye la suivante, tout va bien jusqu'à la fin de la ligne 3,
excel s'ouvre bien, mais si je lui demande de sélectionner a1 et de
coller le contenu du presse papier, il me dit "erreur de compilation:
sub ou function non définie! Vois-tu d'où vient l'erreur et ce qu'il
faut faire pour y remédier?

Merci


Sub versExcel()
'
'
' Macro enregistrée le 15/02/04 par lxm
'

Selection.Wholestory
Selection.Copy
Shell "Excel.exe ""c:correcautocorriger.xls""", vbNormalFocus
Range("A1").Select
activesheet.Paste
End Sub

Clément Marcotte a écrit:
Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub



Avatar
gandi
Rebonjour,

Précision!

To code bugue au niveau de la ligne 2
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
erreur 438 "Propriété ou méthode non gérée par l'objet"

Clément Marcotte a écrit:
Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub



Avatar
Hervé
Salut Gandi,
Clément a juste oublié le "s", essai ceci peut être ?

Sub versExcel()
Dim AppExcel As Object
Dim Classeur As Object
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = True
Set Classeur = AppExcel.Workbooks.Open("C:correcautocorriger.xls")
Selection.WholeStory
Selection.Copy
Classeur.Worksheets("Feuil1").Paste
Set Classeur = Nothing
Set AppExcel = Nothing
End Sub

Hervé.

"gandi" a écrit dans le message news:

Rebonjour,

Précision!

To code bugue au niveau de la ligne 2
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
erreur 438 "Propriété ou méthode non gérée par l'objet"

Clément Marcotte a écrit:
Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub






Avatar
gandi
Je fais ça tout de suite! Ok. Merci!

Hervé a écrit:
Salut Gandi,
Clément a juste oublié le "s", essai ceci peut être ?

Sub versExcel()
Dim AppExcel As Object
Dim Classeur As Object
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = True
Set Classeur = AppExcel.Workbooks.Open("C:correcautocorriger.xls")
Selection.WholeStory
Selection.Copy
Classeur.Worksheets("Feuil1").Paste
Set Classeur = Nothing
Set AppExcel = Nothing
End Sub

Hervé.

"gandi" a écrit dans le message news:


Rebonjour,

Précision!

To code bugue au niveau de la ligne 2
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
erreur 438 "Propriété ou méthode non gérée par l'objet"

Clément Marcotte a écrit:

Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub










Avatar
gandi
Resalt Hervé,
Déjà un immense progrès. Ca arrive bien dasn la feuile , mais de façon
aléatoire en C10. Comment le faire arriver en "A1" stp?
@+
Hervé a écrit:
Salut Gandi,
Clément a juste oublié le "s", essai ceci peut être ?

Sub versExcel()
Dim AppExcel As Object
Dim Classeur As Object
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = True
Set Classeur = AppExcel.Workbooks.Open("C:correcautocorriger.xls")
Selection.WholeStory
Selection.Copy
Classeur.Worksheets("Feuil1").Paste
Set Classeur = Nothing
Set AppExcel = Nothing
End Sub

Hervé.

"gandi" a écrit dans le message news:


Rebonjour,

Précision!

To code bugue au niveau de la ligne 2
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
erreur 438 "Propriété ou méthode non gérée par l'objet"

Clément Marcotte a écrit:

Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub










Avatar
Hervé
Salut Gandi,
Essai ceci et à mettre juste avant le collage :
Classeur.Worksheets("Feuil1").[A1].Select
Hervé.

"gandi" a écrit dans le message news:

Resalt Hervé,
Déjà un immense progrès. Ca arrive bien dasn la feuile , mais de façon
aléatoire en C10. Comment le faire arriver en "A1" stp?
@+
Hervé a écrit:
Salut Gandi,
Clément a juste oublié le "s", essai ceci peut être ?

Sub versExcel()
Dim AppExcel As Object
Dim Classeur As Object
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = True
Set Classeur = AppExcel.Workbooks.Open("C:correcautocorriger.xls")
Selection.WholeStory
Selection.Copy
Classeur.Worksheets("Feuil1").Paste
Set Classeur = Nothing
Set AppExcel = Nothing
End Sub

Hervé.

"gandi" a écrit dans le message news:


Rebonjour,

Précision!

To code bugue au niveau de la ligne 2
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
erreur 438 "Propriété ou méthode non gérée par l'objet"

Clément Marcotte a écrit:

Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub













Avatar
gandi
Resalut Hervé,
Comme ça?
Résultat: A1 est bien sélectionné, mais la cellule est vide. Le contenu
du presse-papiers n'y apparaît pas.
Y'a encore un Stück qq part! :-)
En tout cas merci!

Sub versExcel()
Dim AppExcel As Object
Dim Classeur As Object
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = True
Set Classeur = AppExcel.Workbooks.Open("C:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
Classeur.Worksheets("Feuil1").[A1].Select.Paste
Set Classeur = Nothing
Set AppExcel = Nothing
End Sub

Hervé a écrit:
Salut Gandi,
Essai ceci et à mettre juste avant le collage :
Classeur.Worksheets("Feuil1").[A1].Select
Hervé.

"gandi" a écrit dans le message news:


Resalt Hervé,
Déjà un immense progrès. Ca arrive bien dasn la feuile , mais de façon
aléatoire en C10. Comment le faire arriver en "A1" stp?
@+
Hervé a écrit:

Salut Gandi,
Clément a juste oublié le "s", essai ceci peut être ?

Sub versExcel()
Dim AppExcel As Object
Dim Classeur As Object
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = True
Set Classeur = AppExcel.Workbooks.Open("C:correcautocorriger.xls")
Selection.WholeStory
Selection.Copy
Classeur.Worksheets("Feuil1").Paste
Set Classeur = Nothing
Set AppExcel = Nothing
End Sub

Hervé.

"gandi" a écrit dans le message news:



Rebonjour,

Précision!

To code bugue au niveau de la ligne 2
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
erreur 438 "Propriété ou méthode non gérée par l'objet"

Clément Marcotte a écrit:


Bonjour,


à La volée, non testé:

Sub versExcel()
set xlapp = createobject("excel.application")
set lefichier = xlapp.workbook.open("c:correcautocorriger.xls")
Selection.Wholestory
Selection.Copy
lefichier.activesheet.range("a1").paste
set xlapp = nothing
set lefichier = nothing
end sub















Avatar
LeSteph
Bonjour,
je cherche aussi
Visiblement:
Ca refuse même sur un nouveau fichier de selectionner une cellule
en revanche on peut coller et enregistrer
ceci par exemple fonctionne avecun nouveau classeur.
../..

Sub wRdExel()
Selection.WholeStory
Selection.Copy
Dim xlApp As Object
Set xlApp = CreateObject("excel.application")
xlApp.Visible = True
Set mf = xlApp.Workbooks.Add

xlApp.Worksheets("Feuil2").Select

xlApp.SendKeys "^v"

xlApp.ActiveWorkbook.SaveAs ("c:/testreussi.xls")
xlApp.Quit
Set xlApp = Nothing
End Sub

...

LeSteph


"Hervé" a écrit dans le message de
news:
Salut Gandi,
Essai ceci et à mettre juste avant le collage :
Classeur.Worksheets("Feuil1").[A1].Select
Hervé.

"gandi" a écrit dans le message news:

Resalt Hervé,
Déjà un immense progrès. Ca arrive bien dasn la feuile , mais de façon
aléatoire en C10. Comment le faire arriver en "A1" stp?
@+






1 2