• Initiateur de la discussion Initiateur de la discussion pou pouille
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pou pouille

Guest
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 modification par un modérateur:
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"
 
Re : VBA erreur 5941

re,
j'ai testé ce midi rapidement chez moi , et NomFichier porte bien un nom de document valide ex "test.doc" et j'ai bien un fichier ouvert avec le nom "test.doc"... mais l'erreur est toujours la!
 
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é ...🙄 😱
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour