Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2006, 13h14   #1
Invité régulier
 
Inscription : décembre 2006
Messages : 56
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 56
Points : 8
Points : 8
Par défaut [Debutant] Macro formulaire word -> excel

Bonjour!

Je débute en VBA et je cherche à transferer les données d'un formulaire crée sous Word, dans un tableau Excel. J'ai cherché sur Internet ce genre de code, et en recoupant les passages qui m'interessaient et en modifiant les parametres, j'ai fini par reussir a faire fonctionner la macro!... Mais j'ai encore certains soucis.

Premierement, je n'arrive pas a "accrocher" la macro a mon document word, de façon a pouvoir l'envoyer avec la macro déja a l'interieur.

Ensuite, mon code necessite la référence Microsoft Excel 11.0. Est il possible de faire automatiquement cocher cette référence ?

Wala. Et si vous avez un peu de temps, j'aimerai que vous regardiez le code car je n'arrive pas a le debuguer avec mes maigres conniassances... et il plante souvent!

En vous remerciant!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Sub Enregistrement()
    '
    ' Enregistrement Macro
    ' Macro créée le 19/12/2006 par JDW
    '
 
 
    'Modification des options pour n'enregistrer que les données
 
         With Options
            .AllowFastSave = False
            .BackgroundSave = True
            .CreateBackup = True
            .SavePropertiesPrompt = False
           .SaveInterval = 10
           .SaveNormalPrompt = False
           .OptimizeForWord97byDefault = False
       End With
       With ActiveDocument
           .ReadOnlyRecommended = False
           .EmbedTrueTypeFonts = False
           .SaveFormsData = True
           .SaveSubsetFonts = False
           .Password = ""
           .WritePassword = ""
           .OptimizeForWord97 = False
       End With
       Application.DefaultSaveFormat = ""
 
   'On passe par un fichier texte temporaire avant le fichier excel
 
       ChangeFileOpenDirectory "H:\"
       ActiveDocument.SaveAs FileName:="FichierTemp.txt", FileFormat:= _
           wdFormatText, LockComments:=False, Password:="", AddToRecentFiles:=True, _
           WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
            SaveNativePictureFormat:=False, SaveFormsData:=True, SaveAsAOCELetter:= _
           False
       ActiveDocument.Application.Quit
 
    'Ouverture d'Excel
    Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
    Dim waExcel: Set waExcel = CreateObject("Excel.Application")
 
    'Rendre invisible Excel
    waExcel.Visible = False
 
    'Copie du ficher texte dans le fichier xls avec séparateur ; et ,
    waExcel.Workbooks.OpenText "H:\FichierTemp.txt", Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=True, Space:=False
 
    'Enregistrer sous c:\nomduclient.xls
    Dim MonFichier
    MonFichier = "H:\" & Range("AC1").Value & ".xls"
    ActiveWorkbook.SaveAs FileName:=MonFichier, _
       FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
       ReadOnlyRecommended:=False, CreateBackup:=False
 
 
    waExcel.Application.Quit
 
    'Ouverture d'un formulaire vierge
    Dim objWord As New Word.Application
    objWord.Documents.Open FileName:="H:\ENQUETE.doc"
    objWord.Visible = True
 
 
 
End Sub
Jidewe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2006, 22h11   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Si tu enregistres ton fichier en fichier texte, il me paraît normal qu'il n'ait pas de macro. Pas testé mais je soupçonne un truc comme ça. Qu'est-ce que ça donne si tu l'enregistres en format Word ?
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2006, 19h37   #3
Membre Expert
 
Inscription : novembre 2006
Messages : 1 465
Détails du profil
Informations personnelles :
Âge : 49

Informations forums :
Inscription : novembre 2006
Messages : 1 465
Points : 1 411
Points : 1 411
salut
là, je connais pas trop, mais je n'ai pas l'impression que tu quitte word en enregistrant le document, tu ne fais une sauvegarde que de certains elements comme le format ou autre. peut etre que tu aurais interet a l'enregistrer entierement puis a effacer les données avant de quitter.
mais bon, la je m'avance, je connais rien aux macros de word.
alsimbad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h00.


 
 
 
 
Partenaires

Hébergement Web