Bonjour,
Après recherches sur le forum et tests en tout genre, je suis arrivé à faire
la macro suivante qui copie une ligne de chaque fichier word (il y en aura +
de 2000), vers une feuille excel en face du nom du fichier word.
Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça
plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont
pas toujours les mêmes valeurs qui font planter.
Merci par avance pour vos éclaircissements ou solutions.
Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
For Each c In Selection
FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données
Set DocWord = AppWord.Documents.Open("C:\Boulot\LettreWORD\" &
FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find
.Text = "agence "
.Forward = True
.MatchAllWordForms = False
End With
With AppWord
.Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1
.Selection.MoveDown Unit:=wdLine, Count:=1
.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
.Selection.Copy
End With
'Fermeture de Word
AppWord.Application.Quit
' Copie des données dans Excel
ThisWorkbook.Worksheets("exemple").Select
ActiveCell.Select
ActiveCell.Offset(, 1).Select
******** c'est ici que ça plante de façon aléatoire *************
ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:= _
False
******** ici aussi ça plante de façon aléatoire *************
' ActiveSheet.Paste
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
daniel
Bonjour, Bonjour, Merci pour la réponse. J'ai essayé de changer ActiveSheet par Selection, mais là XL me répond "Erreur défini par l'application ou par l'objet" Encore merci et bonne journée. Daniel
"Pounet95" a écrit dans le message de news: uw0wyG%
Bonjour, A tout hasard car il m'est arrivé d'avoir quelquefois ce problème entre copie exec à excel Remplace pour la partie ci-dessous, ActiveSheet par Selection
******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False
La deuxième syntaxe me semble correcte portant. Peut-être un engorgement du presse-papier qu'il faudrait vider éventuellement après chaque copie par application.cutcopymode = false
Sans garantie, mais sit-on jamais ? Bonne journée Pounet95
"daniel" a écrit dans le message de news:
Bonjour, Après recherches sur le forum et tests en tout genre, je suis arrivé à faire la macro suivante qui copie une ligne de chaque fichier word (il y en aura + de 2000), vers une feuille excel en face du nom du fichier word. Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont pas toujours les mêmes valeurs qui font planter. Merci par avance pour vos éclaircissements ou solutions. Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
For Each c In Selection FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application AppWord.ShowMe AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" & FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find .Text = "agence " .Forward = True .MatchAllWordForms = False End With
With AppWord .Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1 .Selection.MoveDown Unit:=wdLine, Count:=1 .Selection.EndKey Unit:=wdLine, Extend:=wdExtend .Selection.Copy End With
'Fermeture de Word AppWord.Application.Quit
' Copie des données dans Excel ThisWorkbook.Worksheets("exemple").Select ActiveCell.Select ActiveCell.Offset(, 1).Select ******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False ******** ici aussi ça plante de façon aléatoire ************* ' ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(1, -1).Select Next c End Sub
Bonjour,
Bonjour,
Merci pour la réponse.
J'ai essayé de changer ActiveSheet par Selection, mais là XL me répond
"Erreur défini par l'application ou par l'objet"
Encore merci et bonne journée.
Daniel
"Pounet95" <Pounetchezlui@ounadou> a écrit dans le message de news:
uw0wyG%23tIHA.4528@TK2MSFTNGP03.phx.gbl...
Bonjour,
A tout hasard car il m'est arrivé d'avoir quelquefois ce problème entre
copie exec à excel
Remplace pour la partie ci-dessous, ActiveSheet par Selection
******** c'est ici que ça plante de façon aléatoire *************
ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:=
_
False
La deuxième syntaxe me semble correcte portant.
Peut-être un engorgement du presse-papier qu'il faudrait vider
éventuellement
après chaque copie par
application.cutcopymode = false
Sans garantie, mais sit-on jamais ?
Bonne journée
Pounet95
"daniel" <dandanefface@neuf.fr> a écrit dans le message de
news:uKADP49tIHA.2208@TK2MSFTNGP04.phx.gbl...
Bonjour,
Après recherches sur le forum et tests en tout genre, je suis arrivé à
faire la macro suivante qui copie une ligne de chaque fichier word (il y
en aura + de 2000), vers une feuille excel en face du nom du fichier
word.
Mais malheureusement, lors du "collage" des valeurs, très régulièrement
ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce
ne sont pas toujours les mêmes valeurs qui font planter.
Merci par avance pour vos éclaircissements ou solutions.
Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
For Each c In Selection
FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données
Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" &
FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find
.Text = "agence "
.Forward = True
.MatchAllWordForms = False
End With
With AppWord
.Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1
.Selection.MoveDown Unit:=wdLine, Count:=1
.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
.Selection.Copy
End With
'Fermeture de Word
AppWord.Application.Quit
' Copie des données dans Excel
ThisWorkbook.Worksheets("exemple").Select
ActiveCell.Select
ActiveCell.Offset(, 1).Select
******** c'est ici que ça plante de façon aléatoire *************
ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:=
_
False
******** ici aussi ça plante de façon aléatoire *************
' ActiveSheet.Paste
Bonjour, Bonjour, Merci pour la réponse. J'ai essayé de changer ActiveSheet par Selection, mais là XL me répond "Erreur défini par l'application ou par l'objet" Encore merci et bonne journée. Daniel
"Pounet95" a écrit dans le message de news: uw0wyG%
Bonjour, A tout hasard car il m'est arrivé d'avoir quelquefois ce problème entre copie exec à excel Remplace pour la partie ci-dessous, ActiveSheet par Selection
******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False
La deuxième syntaxe me semble correcte portant. Peut-être un engorgement du presse-papier qu'il faudrait vider éventuellement après chaque copie par application.cutcopymode = false
Sans garantie, mais sit-on jamais ? Bonne journée Pounet95
"daniel" a écrit dans le message de news:
Bonjour, Après recherches sur le forum et tests en tout genre, je suis arrivé à faire la macro suivante qui copie une ligne de chaque fichier word (il y en aura + de 2000), vers une feuille excel en face du nom du fichier word. Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont pas toujours les mêmes valeurs qui font planter. Merci par avance pour vos éclaircissements ou solutions. Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
For Each c In Selection FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application AppWord.ShowMe AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" & FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find .Text = "agence " .Forward = True .MatchAllWordForms = False End With
With AppWord .Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1 .Selection.MoveDown Unit:=wdLine, Count:=1 .Selection.EndKey Unit:=wdLine, Extend:=wdExtend .Selection.Copy End With
'Fermeture de Word AppWord.Application.Quit
' Copie des données dans Excel ThisWorkbook.Worksheets("exemple").Select ActiveCell.Select ActiveCell.Offset(, 1).Select ******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False ******** ici aussi ça plante de façon aléatoire ************* ' ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(1, -1).Select Next c End Sub
daniel
Bonjour, J'ai changé la fermeture de word pour la placer à la fin et maintenant plus de problème. :-)).
'Fermeture de Word AppWord.Application.Quit
Encore merci pour votre aide et bonne journée. Daniel
"daniel" a écrit dans le message de news:
Bonjour, Après recherches sur le forum et tests en tout genre, je suis arrivé à faire la macro suivante qui copie une ligne de chaque fichier word (il y en aura + de 2000), vers une feuille excel en face du nom du fichier word. Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont pas toujours les mêmes valeurs qui font planter. Merci par avance pour vos éclaircissements ou solutions. Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
For Each c In Selection FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application AppWord.ShowMe AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" & FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find .Text = "agence " .Forward = True .MatchAllWordForms = False End With
With AppWord .Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1 .Selection.MoveDown Unit:=wdLine, Count:=1 .Selection.EndKey Unit:=wdLine, Extend:=wdExtend .Selection.Copy End With
'Fermeture de Word AppWord.Application.Quit
' Copie des données dans Excel ThisWorkbook.Worksheets("exemple").Select ActiveCell.Select ActiveCell.Offset(, 1).Select ******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False ******** ici aussi ça plante de façon aléatoire ************* ' ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(1, -1).Select Next c End Sub
Bonjour,
J'ai changé la fermeture de word pour la placer à la fin et maintenant plus
de problème. :-)).
'Fermeture de Word
AppWord.Application.Quit
Encore merci pour votre aide et bonne journée.
Daniel
"daniel" <dandanefface@neuf.fr> a écrit dans le message de news:
uKADP49tIHA.2208@TK2MSFTNGP04.phx.gbl...
Bonjour,
Après recherches sur le forum et tests en tout genre, je suis arrivé à
faire la macro suivante qui copie une ligne de chaque fichier word (il y
en aura + de 2000), vers une feuille excel en face du nom du fichier word.
Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça
plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne
sont pas toujours les mêmes valeurs qui font planter.
Merci par avance pour vos éclaircissements ou solutions.
Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
For Each c In Selection
FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données
Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" &
FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find
.Text = "agence "
.Forward = True
.MatchAllWordForms = False
End With
With AppWord
.Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1
.Selection.MoveDown Unit:=wdLine, Count:=1
.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
.Selection.Copy
End With
'Fermeture de Word
AppWord.Application.Quit
' Copie des données dans Excel
ThisWorkbook.Worksheets("exemple").Select
ActiveCell.Select
ActiveCell.Offset(, 1).Select
******** c'est ici que ça plante de façon aléatoire *************
ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:=
_
False
******** ici aussi ça plante de façon aléatoire *************
' ActiveSheet.Paste
Bonjour, J'ai changé la fermeture de word pour la placer à la fin et maintenant plus de problème. :-)).
'Fermeture de Word AppWord.Application.Quit
Encore merci pour votre aide et bonne journée. Daniel
"daniel" a écrit dans le message de news:
Bonjour, Après recherches sur le forum et tests en tout genre, je suis arrivé à faire la macro suivante qui copie une ligne de chaque fichier word (il y en aura + de 2000), vers une feuille excel en face du nom du fichier word. Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont pas toujours les mêmes valeurs qui font planter. Merci par avance pour vos éclaircissements ou solutions. Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
For Each c In Selection FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application AppWord.ShowMe AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" & FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find .Text = "agence " .Forward = True .MatchAllWordForms = False End With
With AppWord .Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1 .Selection.MoveDown Unit:=wdLine, Count:=1 .Selection.EndKey Unit:=wdLine, Extend:=wdExtend .Selection.Copy End With
'Fermeture de Word AppWord.Application.Quit
' Copie des données dans Excel ThisWorkbook.Worksheets("exemple").Select ActiveCell.Select ActiveCell.Offset(, 1).Select ******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False ******** ici aussi ça plante de façon aléatoire ************* ' ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(1, -1).Select Next c End Sub
Mishell
Tu peux peut-être accélérer le code ainsi :
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
Bonjour, J'ai changé la fermeture de word pour la placer à la fin et maintenant plus de problème. :-)).
'Fermeture de Word AppWord.Application.Quit
Encore merci pour votre aide et bonne journée. Daniel
"daniel" a écrit dans le message de news:
Bonjour, Après recherches sur le forum et tests en tout genre, je suis arrivé à faire la macro suivante qui copie une ligne de chaque fichier word (il y en aura + de 2000), vers une feuille excel en face du nom du fichier word. Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont pas toujours les mêmes valeurs qui font planter. Merci par avance pour vos éclaircissements ou solutions. Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
For Each c In Selection FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application AppWord.ShowMe AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" & FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find .Text = "agence " .Forward = True .MatchAllWordForms = False End With
With AppWord .Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1 .Selection.MoveDown Unit:=wdLine, Count:=1 .Selection.EndKey Unit:=wdLine, Extend:=wdExtend .Selection.Copy End With
'Fermeture de Word AppWord.Application.Quit
' Copie des données dans Excel ThisWorkbook.Worksheets("exemple").Select ActiveCell.Select ActiveCell.Offset(, 1).Select ******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False ******** ici aussi ça plante de façon aléatoire ************* ' ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(1, -1).Select Next c End Sub
Tu peux peut-être accélérer le code ainsi :
Sub ListerfichiersWORD()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
"daniel" <dandanefface@neuf.fr> wrote in message
news:uqz%23FW%23tIHA.4076@TK2MSFTNGP06.phx.gbl...
Bonjour,
J'ai changé la fermeture de word pour la placer à la fin et maintenant
plus de problème. :-)).
'Fermeture de Word
AppWord.Application.Quit
Encore merci pour votre aide et bonne journée.
Daniel
"daniel" <dandanefface@neuf.fr> a écrit dans le message de news:
uKADP49tIHA.2208@TK2MSFTNGP04.phx.gbl...
Bonjour,
Après recherches sur le forum et tests en tout genre, je suis arrivé à
faire la macro suivante qui copie une ligne de chaque fichier word (il y
en aura + de 2000), vers une feuille excel en face du nom du fichier
word.
Mais malheureusement, lors du "collage" des valeurs, très régulièrement
ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce
ne sont pas toujours les mêmes valeurs qui font planter.
Merci par avance pour vos éclaircissements ou solutions.
Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
For Each c In Selection
FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données
Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" &
FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find
.Text = "agence "
.Forward = True
.MatchAllWordForms = False
End With
With AppWord
.Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1
.Selection.MoveDown Unit:=wdLine, Count:=1
.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
.Selection.Copy
End With
'Fermeture de Word
AppWord.Application.Quit
' Copie des données dans Excel
ThisWorkbook.Worksheets("exemple").Select
ActiveCell.Select
ActiveCell.Offset(, 1).Select
******** c'est ici que ça plante de façon aléatoire *************
ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:=
_
False
******** ici aussi ça plante de façon aléatoire *************
' ActiveSheet.Paste
Bonjour, J'ai changé la fermeture de word pour la placer à la fin et maintenant plus de problème. :-)).
'Fermeture de Word AppWord.Application.Quit
Encore merci pour votre aide et bonne journée. Daniel
"daniel" a écrit dans le message de news:
Bonjour, Après recherches sur le forum et tests en tout genre, je suis arrivé à faire la macro suivante qui copie une ligne de chaque fichier word (il y en aura + de 2000), vers une feuille excel en face du nom du fichier word. Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont pas toujours les mêmes valeurs qui font planter. Merci par avance pour vos éclaircissements ou solutions. Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
For Each c In Selection FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application AppWord.ShowMe AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" & FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find .Text = "agence " .Forward = True .MatchAllWordForms = False End With
With AppWord .Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1 .Selection.MoveDown Unit:=wdLine, Count:=1 .Selection.EndKey Unit:=wdLine, Extend:=wdExtend .Selection.Copy End With
'Fermeture de Word AppWord.Application.Quit
' Copie des données dans Excel ThisWorkbook.Worksheets("exemple").Select ActiveCell.Select ActiveCell.Offset(, 1).Select ******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False ******** ici aussi ça plante de façon aléatoire ************* ' ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(1, -1).Select Next c End Sub
daniel
Bonjour, Merci pour le code. Je vais tester ça rapidement. Bonne journée. Daniel
"Mishell" a écrit dans le message de news: %
Tu peux peut-être accélérer le code ainsi :
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
Bonjour, J'ai changé la fermeture de word pour la placer à la fin et maintenant plus de problème. :-)).
'Fermeture de Word AppWord.Application.Quit
Encore merci pour votre aide et bonne journée. Daniel
"daniel" a écrit dans le message de news:
Bonjour, Après recherches sur le forum et tests en tout genre, je suis arrivé à faire la macro suivante qui copie une ligne de chaque fichier word (il y en aura + de 2000), vers une feuille excel en face du nom du fichier word. Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont pas toujours les mêmes valeurs qui font planter. Merci par avance pour vos éclaircissements ou solutions. Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
For Each c In Selection FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application AppWord.ShowMe AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" & FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find .Text = "agence " .Forward = True .MatchAllWordForms = False End With
With AppWord .Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1 .Selection.MoveDown Unit:=wdLine, Count:=1 .Selection.EndKey Unit:=wdLine, Extend:=wdExtend .Selection.Copy End With
'Fermeture de Word AppWord.Application.Quit
' Copie des données dans Excel ThisWorkbook.Worksheets("exemple").Select ActiveCell.Select ActiveCell.Offset(, 1).Select ******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False ******** ici aussi ça plante de façon aléatoire ************* ' ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(1, -1).Select Next c End Sub
Bonjour,
Merci pour le code.
Je vais tester ça rapidement.
Bonne journée.
Daniel
"Mishell" <Mishell@dell.qc> a écrit dans le message de news:
%23s6zaJCuIHA.3804@TK2MSFTNGP02.phx.gbl...
Tu peux peut-être accélérer le code ainsi :
Sub ListerfichiersWORD()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
"daniel" <dandanefface@neuf.fr> wrote in message
news:uqz%23FW%23tIHA.4076@TK2MSFTNGP06.phx.gbl...
Bonjour,
J'ai changé la fermeture de word pour la placer à la fin et maintenant
plus de problème. :-)).
'Fermeture de Word
AppWord.Application.Quit
Encore merci pour votre aide et bonne journée.
Daniel
"daniel" <dandanefface@neuf.fr> a écrit dans le message de news:
uKADP49tIHA.2208@TK2MSFTNGP04.phx.gbl...
Bonjour,
Après recherches sur le forum et tests en tout genre, je suis arrivé à
faire la macro suivante qui copie une ligne de chaque fichier word (il y
en aura + de 2000), vers une feuille excel en face du nom du fichier
word.
Mais malheureusement, lors du "collage" des valeurs, très régulièrement
ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce
ne sont pas toujours les mêmes valeurs qui font planter.
Merci par avance pour vos éclaircissements ou solutions.
Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
For Each c In Selection
FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données
Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" &
FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find
.Text = "agence "
.Forward = True
.MatchAllWordForms = False
End With
With AppWord
.Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1
.Selection.MoveDown Unit:=wdLine, Count:=1
.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
.Selection.Copy
End With
'Fermeture de Word
AppWord.Application.Quit
' Copie des données dans Excel
ThisWorkbook.Worksheets("exemple").Select
ActiveCell.Select
ActiveCell.Offset(, 1).Select
******** c'est ici que ça plante de façon aléatoire *************
ActiveSheet.PasteSpecial Format:="Texte", Link:úlse,
DisplayAsIcon:= _
False
******** ici aussi ça plante de façon aléatoire *************
' ActiveSheet.Paste
Bonjour, J'ai changé la fermeture de word pour la placer à la fin et maintenant plus de problème. :-)).
'Fermeture de Word AppWord.Application.Quit
Encore merci pour votre aide et bonne journée. Daniel
"daniel" a écrit dans le message de news:
Bonjour, Après recherches sur le forum et tests en tout genre, je suis arrivé à faire la macro suivante qui copie une ligne de chaque fichier word (il y en aura + de 2000), vers une feuille excel en face du nom du fichier word. Mais malheureusement, lors du "collage" des valeurs, très régulièrement ça plante et de plus, de façon alétoire. J'ai fais plusieurs essais, ce ne sont pas toujours les mêmes valeurs qui font planter. Merci par avance pour vos éclaircissements ou solutions. Bonne journée.
Sub ListerfichiersWORD()
Dim DocWord As Word.Document Dim AppWord As Word.Application
For Each c In Selection FichierInfo = ActiveCell.Value
Set AppWord = New Word.Application AppWord.ShowMe AppWord.Visible = True
'Ouvre le document Word et effectue une copie des données Set DocWord = AppWord.Documents.Open("C:BoulotLettreWORD" & FichierInfo, ReadOnly:=True)
With AppWord.Selection.Find .Text = "agence " .Forward = True .MatchAllWordForms = False End With
With AppWord .Selection.Find.Execute
.Selection.MoveLeft Unit:=wdCharacter, Count:=1 .Selection.MoveDown Unit:=wdLine, Count:=1 .Selection.EndKey Unit:=wdLine, Extend:=wdExtend .Selection.Copy End With
'Fermeture de Word AppWord.Application.Quit
' Copie des données dans Excel ThisWorkbook.Worksheets("exemple").Select ActiveCell.Select ActiveCell.Offset(, 1).Select ******** c'est ici que ça plante de façon aléatoire ************* ActiveSheet.PasteSpecial Format:="Texte", Link:úlse, DisplayAsIcon:= _ False ******** ici aussi ça plante de façon aléatoire ************* ' ActiveSheet.Paste