VBA Excel vers word : redimensionnement image

Bonjour à tous,

Je dois redimensionner des logos via excel vers des tableaux dans word. Ces logos sont variables selon les situations (d'où le select case)

L' ajout des images ne pose pas de problème, mais j'ai une erreur systématique sur la ligne :

With worddoc.InlineShapes(worddoc.InlineShapes.Count)

Voici le code utilisé :

    Select Case Range("A" & Derligne).Value

        Case "AAAAAA"
        worddoc.Tables(1).Columns(1).Cells(1).Range.InlineShapes.AddPicture _
            Filename:=chemin & "\Logo_2021\AAAAAA.jpg", linkToFile:=False, saveWithDocument:=True

        Case "BBBBBB"
        worddoc.Tables(1).Columns(1).Cells(1).Range.InlineShapes.AddPicture _
            Filename:=chemin & "\Logo_2021\BBBBBB.jpg", linkToFile:=False, saveWithDocument:=True

        Case "CCCCCC"
         worddoc.Tables(1).Columns(1).Cells(1).Range.InlineShapes.AddPicture _
            Filename:=chemin & "\Logo_2021\CCCCCC.jpg", linkToFile:=False, saveWithDocument:=True

    End Select

        Select Case Range("AG" & Derligne).Value
            Case "COMPLET"
            worddoc.Tables(2).Delete

            Case "INCOMPLET"
            worddoc.Tables(1).Delete
        End Select

'            'Redimensionner les logos
    With worddoc.InlineShapes(worddoc.InlineShapes.Count)
        .Height = 56 'redimensionne hauteur image
        .Width = 150 'redimensionne largeur image
    End With

wordapp.Visible = False 'affiche le document Word
'WordDoc.PrintOut 'si on veut imprimer

'Export format PDF
        worddoc.ExportAsFixedFormat _
        OutputFileName:=ThisWorkbook.Path & Range("U" & Derligne).Value & "_" & Range("V" & Derligne).Value & ".pdf", _
        ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True

Quelqu'un peut-il m'aider à comprendre ce qui se passe ?

Merci à vous

Bonjour,

Lors de ton test, es-tu dans le cas incomplet ?

Si oui, j'imagine que c'est normal puisque tu as supprimé en amont le tableau qui contenait ton image.

Si j'ai bien compris la logique de ton bout de code, ne faudrait-il pas regarder si c'est complet ou incomplet, et n'importer l'image que si c'est complet ?

Bonjour,

Merci à toi pour ton retour.

Le problème que tu évoques est bien mon "autre problème".

Concernant l'affichage des logos, je les ai mis dans un tableau word (je ne sais pas par quel mystère cela ne fonctionne pas avec les signets).

La macro porte sur 4 tableaux dans le fichier word qui s'affichent ou pas selon certains critères :

Table 1 = critère X - Si X = 0 alors affichage Oui - Si X = 1 alors affichage non

Table 2 = Logo = le critère d'affichage est celui du nom. Il doit toujours être présent

Table 3 = Critère Y - Si Y = Non alors afficher tableau 4

Table 4 = Critère Z Si Y = Oui alors afficher tableau 3

Le code que tu vois dans mon message précédent porte en fait sur les tableaux 3 et 4. J'ai du mal modifier suite à de précédents tests.

Quoiqu'il en soit, Excel ne comprend plus très bien : j'ai l'impression que lorsque je lance la macro de cette manière, si le tableau 1 = .delete, alors le tableau 2 devient le tableau 1 etc... J'ai essayé avec .visible = false, mais j'ai un message d'erreur "Erreur de compilation : Membre de méthode ou de données introuvable"

Et du coup aussi, si je lance la macro une seule fois, le logo se redimensionne bien, mais si je change d'entité, alors c'est plantage.

Bref, je suis perdue.....

Tu peux m'aider à résoudre cela ?

Bonjour,

C'est difficile de te répondre sans voir l'intégralité du projet. Ton 1er select case en fonction de la valeur de la dernière ligne n'est même pas utile en soi. Il n'y a à priori pas d'utilité à passer par un tableau plutôt qu'un signet, etc. Donc je ne sais pas à quel point il faut essayer de résoudre des problèmes qui ne devraient pas exister.

Bonjour,

Désolée je te réponds tardivement. J'ai bien réussi à intégrer mes logos.

Merci à toi

Rechercher des sujets similaires à "vba word redimensionnement image"