VBA erreur 5941

pou pouille

XLDnaute Nouveau
Bonjour,
j'ai un fichier qui tourne parfaitement sous excel 2003 mais sous 2007 ca passe plus, j'ai une erreur d'execution 5941 "le membre de la collection requise n'existe pas.voici le code: je pilote Word via Excel , en gras la ligne qui bloc, je précise que le fichier NomFichier existe bien
Code:
Dim LancerWord As Object
    Set LancerWord = CreateObject("Word.Application")
    'Set LancerWord = New Word.Application
    LancerWord.WindowState = wdWindowStateMaximize
    LancerWord.Visible = True
    LancerWord.ScreenUpdating = False
    LancerWord.Documents.Add
    LancerWord.ActiveDocument.SaveAs ThePath & NomFichier
    LancerWord.Documents.Open Filename:=ThePath & "debut.doc"
    LancerWord.Selection.WholeStory
    LancerWord.Selection.Copy
    [B]LancerWord.Windows(NomFichier).Activate[/B]
    LancerWord.Selection.PasteAndFormat (wdPasteDefault)
    LancerWord.Windows("debut.doc").Activate
    LancerWord.ActiveWindow.Close
Par avance merci de vos explications.
ps: je précise qu'il y a d'autres lignes dans ce code ce n'est qu'une partie, j'essayrai de metre en ligne mon fichier mais ca va pas etre simple^^ (il passe pas en upload direct donc je le met sur cijoint:
Cijoint.fr - Fichier Excel )
 
Dernière édition:

pou pouille

XLDnaute Nouveau
Re : VBA erreur 5941

bonjour,

quand tu executes cette ligne en gras, tu te trouves dans excel, et nulle part tu ne définis la variable NomFichier, donc erreur
Merci de ta réponse mais, dans le début de mon module je déclare bien le NomFichier... j'ai pas voulu placer tout le code parce qu'il est un peut long mais voici les première ligne du module qui plante:
Code:
Public Sub debut_fin()
Application.ScreenUpdating = False
Dim ThePath, TheFile As String
ThePath = "L:\Méthodes - Qualité\Moyens de production\Fritsch\Macro conversion PKP-SMD\"
TheFile = ActiveWorkbook.FullName
Dim Utilisateur
Utilisateur = Environ("username")
Dim today As Date
today = Date
Dim Enregistrement As String
Dim A, b, c, d As String
Dim Fichier, NomFichier As String
    b = Len(ThePath)        'renvoie longueur du Chemin
    A = Len(TheFile)        ' "    "  "    "   " fichier
    c = A - b               'supprime le chemin du fichier
    Fichier = Right(TheFile, c)
    d = c - 4               ' supprime l'extension ".*"
    NomFichier = Left(Fichier, d) & ".doc"
 

pou pouille

XLDnaute Nouveau
Re : VBA erreur 5941

Bonsoir à tous,

Peut être que l'intitulé de la fenetre ne comporte pas l'extension ?

Bonne nuit,

Ninbihan
Oui en effet le problème vien bien de l'intitulé de la fenetre ... voila ce qu'il fallais écrire ... pff 2007 merci.
Code:
LancerWord.Windows(Left(NomFichier, d) & " [Mode de compatibilité]").Activate
donc oui il n'y a pas d'extention, et 2 il fallais rajouter le mode de compatibilité ...:rolleyes: :eek:
 

Statistiques des forums

Discussions
312 505
Messages
2 089 067
Membres
104 015
dernier inscrit
kkgk