IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

[VBA-W] Macro de fermeture sous word


Sujet :

VBA Word

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 491
    Points : 155
    Points
    155
    Par défaut [VBA-W] Macro de fermeture sous word
    Bonjour et bonne année 2007

    Je suis bloqué sur un point qui doit être très simple mais je suis tellement nul que je n'y arrive pas.

    J'ouvre un document word (CB.doc) qui lance un publipostage via une macro à l'ouverture.
    Une fois la fusion terminée, je me trouve avec un deuxième fichier word d'ouvert (lettre.doc)

    Je voudrais qu'à la fin de ma macro se trouvant dans le document CB.doc, je puisse lui dire de fermer sans enregistrer le document cb.doc

    J'ai trouvé que le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.Close (wdDoNotSaveChanges)
    Le problème c'est qu'après la fusion, le document actif n'est plus cb.doc

    Est ce que qq1 peut m'aider?

    Nicolas

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Montre-nous un peu plus de ta macro car, une fois la lettre type créée, le document actif est cette lettre. Pour que CB.doc soit actif, tu dois faire
    Documents("CB.doc"). activate
    ou
    Windows(1).Activate
    Ce que tu peux faire, à la fin de la fusion, c'est récupérer le nom du document créé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomFichierCréé = Activedocument.name
    et à la fin de ta macro, pour rester dans CB.doc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Documents(NomFichierCréé).close False
    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 491
    Points : 155
    Points
    155
    Par défaut
    Merci au magnifique ouskel'n'or

    Le problème a été résolu en indiquant à la fin de la macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Documents("CB.doc").Activate
    Documents("CB.doc").Close False
    Pour ceux que çà intéresserait voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Private Sub Document_Open()
     
    ' Macro enregistrée le 08/12/2006 par liop49
    '
     
     
        With ActiveDocument.MailMerge
            .Destination = wdSendToNewDocument
            .SuppressBlankLines = True
            With .DataSource
                .FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
                .LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
            End With
            .Execute Pause:=False
        End With
     
    nomfich = Word.ActiveDocument.Name
     
     
     
    Msg = "Voulez-vous enregistrer le CB " & vbCrLf & "Cliquez sur 'Oui' pour enregistrer"    ' Définit le message.
            Style = vbYesNo + vbQuestion    ' Définit les boutons.
            Title = "Demande d'enregistrement"    ' Définit le titre.
     
            Response = MsgBox(Msg, Style, Title) ' Affiche le message.
     
            If Response = vbYes Then    ' L'utilisateur a choisi Oui.
               Nom = InputBox("Merci d'indiquer le nom de la plante suivi du n° de lot", "Nom du Fichier")
     
     
     
                ChangeFileOpenDirectory "\\Repertoire mes douments\Yasmine\CONTROLES BOTANIQUES\"   'Spécifique pour Yasmine car c'est elle qui enregistre les CB sur son poste
                ActiveDocument.SaveAs FileName:=Nom, FileFormat:=wdFormatDocument, _
                LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
                :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
                SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
                False
    '
                MsgBox ("Le fichier " & Nom & ".doc a bien été enregistré dans le répertoire" & vbCrLf & "Serveur-caill\Documents\Yasmine\CONTROLES BOTANIQUES")
     
                Else
     
     
            End If
     
     
     
     
    Documents("CB.doc").Activate
    Documents("CB.doc").Close False
     
    End Sub
    Merci à bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro pour enregistrer sous Word
    Par khech dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/05/2015, 06h04
  2. [Toutes versions] comment coder en vba des sauts de page sous word
    Par xixeme dans le forum VBA Word
    Réponses: 1
    Dernier message: 28/03/2009, 00h35
  3. [VBA-Word] lancement de macro à la fermeture de fichier
    Par perophron dans le forum VBA Word
    Réponses: 2
    Dernier message: 22/06/2007, 15h32
  4. [VBA-W] changement de hierarchisation sous word
    Par ganga dans le forum VBA Word
    Réponses: 5
    Dernier message: 25/04/2006, 17h08
  5. [VBA-W]Pb de prog sous word!!!!!
    Par mat31 dans le forum VBA Word
    Réponses: 1
    Dernier message: 25/04/2006, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo