darib52
Messages postés7Date d'inscriptionmercredi 9 novembre 2005StatutMembreDernière intervention11 juillet 2006
-
9 nov. 2005 à 21:39
cs_FatBoy
Messages postés42Date d'inscriptionmercredi 12 juin 2002StatutMembreDernière intervention12 novembre 2005
-
12 nov. 2005 à 13:32
bonsoir à tous,
je viens avec une question sans réponse à ce jour.
j'importe des données issues de word dans excel.
j'ai une macro qui fonctionne.
juste là pas pb.
mais avant d'importer dans excel je dois faire subir un petit traitement au document word ( suppression d'un séparateur de milliers matérialisé par un . )
si la macro fonctionne dans word, comment faire pour que je puisse faire l'ensemble de la tâche depuis excel.
pas si simple, à priori.
si quéqu'un peut m'aider. ça serait avec une grande satisfaction.
merci d'avance à tous.
voici la macro excel
Sub Bouton2_QuandClic()
Dim Wrd As Object
Application.ScreenUpdating = False
Set Wrd = CreateObject("word.application")
Wrd.Visible = False
monChemin = InputBox("Saisissez le chemin complet", "")
Wrd.documents.Open (monChemin)
Wrd.Selection.WholeStory
Wrd.Selection.Copy
Sheets("modele").Copy after:=Worksheets(Sheets.Count)
Nom = InputBox("Entrez le nom pour la feuille en cours :")
If Nom <> "" Then ActiveSheet.Name = Nom
Range("aa1").Select
ActiveSheet.Paste
Wrd.Application.Quit
Range("G7").Select
Columns("A:A").ColumnWidth = 34.86
ActiveWindow.SmallScroll Down:=48
Range("A53:D60").Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=30
Range("A88:D97").Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=45
Range("A1:A133").Select
Selection.RowHeight = 25
End Sub
et voici celle de word à insérer.
Sub separateur()
'
' separateur Macro
' Macro enregistrée le 07/11/2005 par daniel
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "."
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
cs_FatBoy
Messages postés42Date d'inscriptionmercredi 12 juin 2002StatutMembreDernière intervention12 novembre 2005 12 nov. 2005 à 13:32
Hello,
j'ai déjà fait un truc similaire, en fait, à l'ouverture de n'importe quel document word, j'avais une macro qui scanné le nom du document, et si ça corresponder, je lançais automatiquement un autre macro. Le tout dans word.
La seul différence, c'est que moi je fais tout à partir de word. Je chope mes données que je balance vers excel dans un bô petit tableau tout prêt.
Le code :
'Procedure se lancer à l'ouverture d'un document
Sub Document_Open() '<- se lance à l'ouverture de n'importe quel doc.
'Test pour le traitement des clotures d'incidents
' envoyé par FT.
If Left(ActiveDocument.Name, 6) = "attach" Then ' Vérification du nom
Traitement_Attach 'Lancement du traitment d'attach.rtf 'lancement de la macro de traitement.
End If
End Sub
---------------------------------
Dans la macro traitement, je lance excel aprés récupérer mes données dans un tableau :
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.workbooks.Open (<chemin+nom fichier>)
Je fais mon bazar et je ferme tout histoire de faire ça proprement
ExcelApp.DisplayAlerts = False
ExcelApp.workbooks("<nom_fichier>").Close savechanges:=True
ExcelApp.Quit
Set ExcelApp = Nothing