Forum Clubic

Erreur 4198 - Programmation VBA

Bonjour,

J’ai écrit un programme qui insère dans Word des objets Word.
(Oui je sais, c’est tordu mais… j’ai pas trouvé autre chose pour incorporer des document avec des photos dans un texte en colonne sans que les photos se baladent partout). :ane:
Le programme affiche un UserForm ListeCV avec des cases à cocher, chacune correspondant à un fichier à incorporer.
Le nom de ce fichier est dans le ‘caption’ de la case à cocher.
En cliquant sur le bouton OK, le programme passe en revue toutes les cases et va lire le nom dans celles qui ont été cochées.

Voici la partie du programme qui pose problème :

Function TraiterRéponse()

Dim IndexC As Integer
Dim ACharger As String

For IndexC = 0 To IndexZone
    If ListeCV.Controls(IndexC).Value Then
        ACharger = Chemin & "\" & ListeCV.Controls(IndexC).Caption & ".doc"
        MsgBox "Charge " & ListeCV.Controls(IndexC).Caption & " à partir de " & ACharger
        Selection.InlineShapes.AddOLEObject FileName:=ACharger, _
                                            LinkToFile:=False, _
                                            DisplayAsIcon:=False
        ListeCV.Controls(IndexC).Value = False
        ListeCV.Controls(IndexC).Caption = ""
        ListeCV.Controls(IndexC).Visible = False
    End If
Next
ListeCV.Hide

End Function

L’erreur 4198 se produit sur l’instruction suivante :
Selection.InlineShapes.AddOLEObject FileName:=ACharger, _
LinkToFile:=False, _
DisplayAsIcon:=False

Le plus rigolo, c’est que si j’effectue la manipulation sous Word, puis que je relance la macro, les fichiers incorporés ‘à la main’ sont bien pris en compte, mais pas les autres.
Et là, je sèche… :??:

Merci de m’indiquer où se situe le problème

PS 1 La variable ACharger me sert pour les tests
PS 2 J’espère avoir été suffisamment clair dans mes explications :sleep:
PS 3 A la relecture je vois que les identations sautent à l’affichage? :??:
PS 4 Et en plus je suis pas dans le bon topic. Comment on fait pour le mettre au bon endroit?

Et c’est bien comme jeu PC? :lol:

Refais le topic sur le forum programmation et/ou demandes a un modo de le deplacer. :wink:

Je déplace parce que VBA adventures c’est pas vraiment un jeu PC :smiley:

Merci, je n’ai pas su comment créer directement un nouveau sujet. :ane:
En ce qui concerne mon problème il est résolu :

  • Ouvrir le document à incorporer
  • Exécuter l’incorporation
  • Fermer le fichier à fermer

Bref du pur pourquoi faire simple quand on peut faire compliqué… :na:

La solution a été trouvée par hasard : souhaitant faire une pseudo table des matières j’avais besoin d’ouvrir le fichier pour y lire une information.
J’ai déplacé la fermeture après l’incorporation et oh miracle :ouch: tout marche.