Exporter des fichiers Excel en fichiers Word pour les comparer

Bonjour,

Je dois faire de la comparaison de rapports (plusieurs versions de rapports). Mes rapports initiaux sont des fichiers Excel. L' analyse des versions de ces rapports se fait en word car l'outil de comparaison est plus simple et efficace.

J'ai mis en place 2 scripts vba:

Un en Excel qui permet de convertir les rapports excel en word:

Sub export_workbook_to_word()
    Dim sheetName As String
    Set obj = CreateObject("Word.Application")
    obj.Visible = True
    Set newobj = obj.Documents.Add

    For Each ws In ActiveWorkbook.Sheets
        sheetName = ws.Name

        'Retrieve name of the Worksheet
        newobj.ActiveWindow.Selection.TypeText sheetName
        newobj.ActiveWindow.Selection.Style = ActiveDocument.Styles(-2)
        newobj.ActiveWindow.Selection.TypeParagraph

        ws.UsedRange.Copy
        newobj.ActiveWindow.Selection.PasteExcelTable False, False, False
        newobj.ActiveWindow.Selection.InsertBreak Type:=7

    Next
        newobj.ActiveWindow.Selection.TypeBackspace
        newobj.ActiveWindow.Selection.TypeBackspace

    obj.Activate
    newobj.SaveAs Filename:=Application.ActiveWorkbook.Path & "\" & Split(ActiveWorkbook.Name, ".")(0)

End Sub

Un en Word pour comparer les rapport et créer un 3 eme rapport qui montre les différences entre les rapports avec l'outil de track changes

Sub CompareAllFiles()
    Dim strFolderA As String
    Dim strFolderB As String
    Dim strFolderC As String
    Dim strFileSpec As String
    Dim strFileName As String
    Dim objDocA As Word.Document
    Dim objDocB As Word.Document
    Dim objDocC As Word.Document
    strFolderA = InputBox("Enter path to base documents:")
    strFolderB = InputBox("Enter path to new documents:")
    strFolderC = InputBox("Enter path for document comparisons to be saved:")
    strFileSpec = "*.doc"
    strFileName = Dir(strFolderA & strFileSpec)
    Do While strFileName <> vbNullString
        Set objDocA = Documents.Open(strFolderA & strFileName)
        Set objDocB = Documents.Open(strFolderB & strFileName)
        Application.CompareDocuments _
            OriginalDocument:=objDocA, _
            RevisedDocument:=objDocB, _
            Destination:=wdCompareDestinationNew
        objDocA.Close
        objDocB.Close
        Set objDocC = ActiveDocument
        objDocC.SaveAs FileName:=strFolderC & strFileName
        objDocC.Close SaveChanges:=False
        strFileName = Dir
    Loop
    Set objDocA = Nothing
    Set objDocB = Nothing
End Sub

Je voudrais réunir les 2 scripts en un seul script pour:

  • exporter tous les fichiers Excel d'un dossier en fichier Word avec le 1er script (sur base du 2eme script pour choisir les dossiers d'origine et de destination)
  • Comparer les documents Word (avec le 2eme script) et créer les fichiers de résultats

Pourriez-vous m'aider à faire cela?

Merci d'avance pour votre aide

bonjour

pas besoin de Word ni de VBA

il suffit de créer un fichier (ou un onglet qui contient =SI(A1dufichierA = A1dufichierB ; ""; "écart")

formule que tu étends à toute la plage nécessaire.

tu peux mettre une somme des "écarts" pour mieux quantifier le résultat.

J'ai malheureusement besoin d'avoir une structure identique (tableaux, données et mise en forme) pour comparer ligne par ligne si les champs ont été modifiés(valeurs différentes, ajout ou modification d'une ligne ou d'une colonne). Excel n'est pas assez efficace et surtout simple d'utilisation pour faire cela, sachant qu'en plus je souhaite automatiser le plus possible ces tâches et ne pas devoir aller dans chaque fichier pour faire les manipulations.

bonjour

pas besoin de Word ni de VBA

il suffit de créer un fichier (ou un onglet qui contient =SI(A1dufichierA = A1dufichierB ; ""; "écart")

formule que tu étends à toute la plage nécessaire.

tu peux mettre une somme des "écarts" pour mieux quantifier le résultat.

Merci pour la réponse,

J'ai malheureusement besoin d'avoir une structure identique (tableaux, données et mise en forme) pour comparer ligne par ligne si les champs ont été modifiés(valeurs différentes, ajout modification ou suppression d'une ligne ou d'une colonne). Excel n'est pas assez efficace et surtout simple d'utilisation pour faire cela, sachant qu'en plus je souhaite automatiser le plus possible ces tâches et ne pas devoir aller dans chaque fichier pour faire les manipulations. D'ou la solution que j'avais pensé avec Word et son outil de comparaison.

Rechercher des sujets similaires à "exporter fichiers word comparer"