Office 365 Macro créée sur Excel 365 ne fonctionne pas sous Excel 2016 (signet Word=

titous68

XLDnaute Nouveau
Bonjour,
j'ai créé une macro (avec l'aide des infos trouvés sur le forum ;) ) qui me permet de remplir des signets Word à partir d'Excel... rien de bien original, cela fonctionne très bien sous les PC avec office 365, mais quand je veux l'utiliser sur un PC équipé de Office 2016 le document Word ne se remplit pas... (hormis les deux parties de copier/coller des tableaux)
je cherche mais ne trouve pas...o_O
Une idée ??
Merci d'avance !! :)

VB:
Sub Creer_Word()
Dim WordApp As Object, WordDoc As Object, Rng As Object
'Dim WordAppli As Word.Application
Dim Rep As String, Ndf As String, Logo As String
Dim i As Integer, h As Integer, j As Integer
Dim cl As Integer, lg As Integer
Dim Total As Single

' -> minimise l'application Excel pendant la macro
 Application.WindowState = xlMinimized

'Set WordAppli = GetObject("Word.Application")
Set WordApp = CreateObject("Word.Application") 'ouvre session word et le fichier voulu
Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\Proposition_Commerciale_Wildix_Matrice.docx") 'ouvre document Word
WordApp.Visible = True 'word masqué pendant l'operation

On Error Resume Next
Application.DisplayAlerts = False

' -> Signets dans Word

With WordDoc
.Bookmarks("Raison_Sociale").Range.Text = [Client!B2].Text
.Bookmarks("RAISON_SOCIALE2").Range.Text = [Client!B2].Text
.Bookmarks("Raison_Sociale_Adresse").Range.Text = [Client!B3].Text
.Bookmarks("ADRESSE2").Range.Text = [Client!B3].Text
.Bookmarks("Ville").Range.Text = [Client!B4].Text
.Bookmarks("VILLE2").Range.Text = [Client!B4].Text
.Bookmarks("VILLE3").Range.Text = [Client!B4].Text
.Bookmarks("NOM2").Range.Text = [Client!B5].Text
.Bookmarks("Interlocuteur_Nom").Range.Text = [Client!B5].Text
.Bookmarks("Interlocuteur_Mail").Range.Text = [Client!B6].Text
.Bookmarks("Interlocuteur_Tel").Range.Text = [Client!B7].Text
.Bookmarks("Commercial_Mail").Range.Text = [Client!E6].Text
.Bookmarks("Commercial_Nom").Range.Text = [Client!E3].Text
.Bookmarks("Commercial_Tel").Range.Text = [Client!E7].Text
.Bookmarks("Expression_Besoin").Range.Text = [Client!B10].Text
.Bookmarks("LOC_MONTANT").Range.Text = [Calcul!N8].Text
.Bookmarks("ENTRE_COUT_HT").Range.Text = [Calcul!N7].Text
.Bookmarks("ENTRE_COUT_TTC").Range.Text = [Calcul!P7].Text
.Bookmarks("Nbr_Util").Range.Text = [Calcul!D76].Text
.Bookmarks("Nbr_Pass").Range.Text = [Calcul!L22].Text
.Bookmarks("Nbr_Cannaux").Range.Text = [Calcul!K22].Text
.Bookmarks("Nbr_BASIC").Range.Text = [Calcul!D76].Text
.Bookmarks("Nbr_ESS").Range.Text = [Calcul!D77].Text
.Bookmarks("Nbr_BUSI").Range.Text = [Calcul!D78].Text
.Bookmarks("Nbr_PREM").Range.Text = [Calcul!D79].Text
.Bookmarks("Nbr_B_INT").Range.Text = [Calcul!D47].Text
.Bookmarks("Nbr_B_EXT").Range.Text = [Calcul!D48].Text
.Bookmarks("Nbr_P_IP").Range.Text = [Calcul!K36].Text
.Bookmarks("Nbr_P_DECT").Range.Text = [Calcul!K46].Text
.Bookmarks("Nbr_Switches_Fournis").Range.Text = [Calcul!K66].Text
.Bookmarks("Nbr_Switches_Existants").Range.Text = [Client!B12].Text
.Bookmarks("Nbr_Appli_Smartphone").Range.Text = [Client!B13].Text
.Bookmarks("Nbr_Firewall").Range.Text = [Calcul!D84].Text
.Bookmarks("Nbr_Onduleur").Range.Text = [Calcul!D83].Text
.Bookmarks("Nbr_casque").Range.Text = [Calcul!K56].Text
.Bookmarks("Fonct_avancées").Range.Text = [Client!B14].Text
.Bookmarks("Date").Range.Text = [Client!E9].Text
.Bookmarks("Date2").Range.Text = [Client!E9].Text
.Bookmarks("Date3").Range.Text = [Client!E9].Text
.Bookmarks("Trunk").Range.Text = [Client!E12].Text
.Bookmarks("Trunk2").Range.Text = [Client!E12].Text
.Bookmarks("Opérateur").Range.Text = [Client!E13].Text

'=> Détails solution
' -> rend visible la feuille
    Sheets("Synthèse_Financière").Visible = True
' -> selection de la feuille
    Sheets("Synthèse_Financière").Select
' -> cache les lignes vides
    For i = [A65536].End(xlUp).Row To 3 Step -1
           If Application.WorksheetFunction.CountBlank(Range(Cells(i, 4), Cells(i, 4))) = 1 Then
           Rows(i).EntireRow.Hidden = True
        End If
    Next i
' -> copie du tableau
    Range("A1:F115").Select
    Selection.Copy
' -> Recherche l'emplacement du signet où l'on collera le tableau
    'WordAppli.Selection.HomeKey Unit:=wdStory
    WordApp.Selection.Goto What:=wdGoToBookmark, Name:="details"
' -> Collage spéciale du tableau copié depuis excel
    WordApp.Selection.Paste 'Special Link:=True, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False
' -> affiche à nouveau les lignes vides
Rows.EntireRow.Hidden = False
' -> Masque à nouveau la feuille
Sheets("Synthèse_Financière").Visible = False
' -> séléctionne à nouveau la feuille calculs
  Sheets("Calcul").Select
 
'=> CONTRAT_DETAILS
' -> rend visible la feuille
    Sheets("DETAILS_CONTRAT").Visible = True
' -> selection de la feuille
    Sheets("DETAILS_CONTRAT").Select
' -> cache les lignes vides
    For i = [A65536].End(xlUp).Row To 2 Step -1
           If Application.WorksheetFunction.CountBlank(Range(Cells(i, 4), Cells(i, 4))) = 1 Then
           Rows(i).EntireRow.Hidden = True
        End If
    Next i
' -> copie du tableau
    Range("C2:D54").Select
    Selection.Copy
' -> Recherche l'emplacement du signet où l'on collera le tableau
    'WordAppli.Selection.HomeKey Unit:=wdStory
    WordApp.Selection.Goto What:=wdGoToBookmark, Name:="CONTRAT_DETAILS"
' -> Collage spéciale du tableau copié depuis excel
    WordApp.Selection.Paste 'Special Link:=True, DataType:=wdPasteOLEObject, Placement:=wdInLine, DisplayAsIcon:=False
' -> affiche à nouveau les lignes vides
Rows.EntireRow.Hidden = False
' -> Masque à nouveau la feuille
Sheets("DETAILS_CONTRAT").Visible = False
' -> séléctionne à nouveau la feuille calculs
  Sheets("Calcul").Select


End With

Set WordApp = Nothing
Set WordDoc = Nothing
WordDoc.Save  'si on veut fermer le document word en sauvegardant les données
WordApp.Visible = True 'affiche le document Word 'WordDoc.PrintOut 'si on veut imprimer
'WordApp.Quit 'ferme la session Word
End Sub
 

Discussions similaires


Haut Bas