Problème de macro et d'importation d'un fichier Word

Problème de macro et d'importation d'un fichier Word - VB/VBA/VBS - Programmation

Marsh Posté le 28-04-2015 à 23:47:01    

Bonjour  :jap:  
 
Je précise d'abord que je suis sur mac (pour les chemins d'accès au fichier, etc.)
 
Mon but est de créer un Userform qui aurait pour but de demander à l'utilisateur si les mots d'une colonne A, importés d'un fichier Word, sont des mots clés, et si tel est le cas, copier ce mot dans la colonne C. Si le mot est de nouveau présent dans la colonne A, il faut alors prendre en compte le fait que l'utilisateur a déjà pris une décision, donc ne pas lui demander si le mot est un mot clé.
 
J'ai un problème au niveau de ma macro pour importer les mots du fichier word sur la colonne A, j'obtiens le message d'erreur "La méthode "Open" de l'objet "Documents" a échoué." Quand je clique sud déboguage, il surligne en jaune cette ligne : .Documents.Open Filename:="/Users/Projet/VBA/Etapesuivre.docx"
 
Sub lireDocument()
 
Dim i, NbreMots As Long
Dim WdApp As Word.Application
Set WdApp = New Word.Application
 
With WdApp
.Documents.Open Filename:="/Users/Projet/VBA/Etapesuivre.docx"
With .Selection
.EndKey Unit:=wdStory
.TypeParagraph
End With
.ActiveDocument.Save
' On trouve le nombre de mots
NbreMots = .ActiveDocument.Words.Count
' On écrit les mots dans la colonne A
For i = 1 To NbreMots
Cells(i, 1) = .ActiveDocument.Words(i)
Next i
.Documents.Close
.Application.Quit
End With
Set WdApp = Nothing
End Sub
 
Pour ce qui est de la suite et de la recherche de mots clé (on doit demander à l'utilisateur pour chaque mot s'ils sont courant ou pas, et ne pas reposer la question pour des mots déjà classés précédemment) , je suis parti dans la direction suivante, mais je me suis perdu et n'arrive pas vraiment à cerner le problème et à aboutir à quelque chose de concret.
 
Sub Courant()
Dim i As Integer
Dim j As Integer
 
i = 1
j = 1
 
Do While (Cells(i, 1) <> "//" )
If MsgBox("Est-ce un mot courant ?", vbYesNo) = vbYes Then Cells(i, 1).Value = Cells(j, 4)
End If
If Cells(i, 1).Value = Cells(j, 4) Then j = j + 1
End If
i = i + 1
Loop
 
End Sub
 
 
Merci beaucoup de votre aide !

Reply

Marsh Posté le 28-04-2015 à 23:47:01   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed