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

Macros et VBA Excel Discussion :

Utiliser les données d'Excel pour obtenir un doc word


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 84
    Points : 38
    Points
    38
    Par défaut Utiliser les données d'Excel pour obtenir un doc word
    Bonjour,

    J'utilise un classeur Excel pour gerer des dossiers (un dossier par enregistrement et un enregistrement par ligne de ma feuille ; chaque colonne correspondant a un renseignement (nom, prenom, date de naissance, ...). Pour mes lettres type, par exemple relance pour obtenir une attestation, ... j'utilise des models que j'ai créé dans Word et lors de chaque utilisation d'un model pour créer un document j'enregistre le document réalisé dans un répertoire correspondant à la lettre initiale du nom du dossier.

    Je voudrais à partir de mon classeur, créer plusieurs boutons permettant de lancer un model (un model par bouton) qui se complèterais avec les données nécessaire de l'enregistrement sélectionné.

    Quelqu'un aurait il une idée ? un conseil ? ou connaitrais un Projet Excel qui ferait cela ?

    SVP Merci pour votre aide

    (Le top serait de pouvoir, également, faire des recherche multicritère dans le classeur excel et les documents créés : je rêve sans doute)
    Raphaël

  2. #2
    Membre habitué Avatar de Basicnav
    Profil pro
    Inscrit en
    Février 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2008
    Messages : 245
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    pour ma part j'ai créer un petit prog qui m'édite deux types d'étiquette à partir d'un seul modèle Word.

    Pour ça, j'ai ajouté à mon .doc des signets un peu partout en fonction de mes besoins et selon le bouton cliqué, Excel envoi telle ou telle valeur de mon tableau vers le signet Word correspondant.

    Pour la petite explication du début de code, je choisi un magasin dont il me faut les étiquettes dans un listbox à 3 colonnes.

    Voilà une partie de mon 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
    Private Sub CommandButton2_Click()
        On Error Resume Next
            Dim WordApp As Object
            Dim WordDoc As Object
            Dim n As Integer
            Dim NomEnseigne As String
            Dim ville As String
     
                NomEnseigne = Left(ListBox1.Value, InStr(1, ListBox1.Value, " ") - 1)
                ville = Replace(ListBox1.Value, NomEnseigne & " ", "")
     
                Set WordApp = CreateObject("Word.Application")                                           'ouvre session word
                Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\moi\Bureau\Etiquette.doc")                                 'ouvre document Word
                    WordApp.Visible = False                                                              'word masqué pendant l'operation
                    WordDoc.Bookmarks("Text1").Range.Text = NomEnseigne                                 'Remplace Signet Texte1 dans wd par colonne1 listbox
                    WordDoc.Bookmarks("Text2").Range.Text = ville
                    WordDoc.Bookmarks("Text7").Range.Text = ListBox1.List(ListBox1.ListIndex, 1)        'Remplace Signet Texte2 dans wd par colonne2 listbox
                    WordDoc.Bookmarks("Text9").Range.Text = ListBox1.List(ListBox1.ListIndex, 2)
     
       Set myRange = WordDoc.Range(Start:=WordDoc.Bookmarks("Text1").Start, End:=WordDoc.Bookmarks("Text3").End)
                  With myRange
                      .Font.Name = "Verdana"
                      .Font.Size = 33
                      .Bold = True
                      .Italic = False
                  End With
     
       Set myRange2 = WordDoc.Range(Start:=WordDoc.Bookmarks("Text7").Start, End:=WordDoc.Bookmarks("Text8").End)
                  With myRange2
                      .Font.Name = "Verdana"
                      .Font.Size = 18
                      .Bold = True
                      .Italic = False
                  End With             
     
     
     
     
     
     
                   WordApp.Application.ActivePrinter = "PrinterColor"
                    n = Application.InputBox("nombre de copies", "Copies", Type:=1)                      'Ouvre inputbox nb de copies, impose saisie de nombre
                    WordApp.Visible = True                                                               'Affiche le doc word
                    WordApp.ActiveDocument.PrintOut Copies:=n                                            'Imprime le doc sur imprimante par défaut
                    WordApp.Application.ActivePrinter = "\\monréseau\PRT6220NB015"
                    WordApp.ActiveDocument.Close False                                                   'Ferme le document sans enregister
                    WordApp.DisplayAlerts = wdAlertsNone
                    WordApp.Quit
     
    End Sub
    Voili voilou, bon des personnes te dirons de peut-être créer un tableau dans ton Word et d'y envoyer les valeurs que tu souhaites mais ceci ne correspondait pas à mes besoins.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 84
    Points : 38
    Points
    38
    Par défaut word utilise Excell
    Bonjour,

    Merci pour cette réponse.

    Je ne comprend pas ta proposition. Pourrais tu la détailler ? SVP Merci

    5voir si possible et surtout si tu as le temps, aurais tu un exemple sous forme de fichier ? SVP Merci)

    Bonne journée

    Raphaël

Discussions similaires

  1. adresse variable pour importer les données sous excel
    Par nezguich dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/09/2010, 12h42
  2. Réponses: 1
    Dernier message: 04/05/2009, 20h01
  3. Réponses: 0
    Dernier message: 01/04/2009, 10h12
  4. Réponses: 3
    Dernier message: 22/10/2008, 22h50
  5. Réponses: 3
    Dernier message: 09/02/2007, 11h31

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