Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
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 17/12/2011, 14h55   #1
Invité de passage
 
Homme
Enseignant
Inscription : novembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Mayenne (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2011
Messages : 5
Points : 0
Points : 0
Par défaut adressage enveloppe à partir excel

Bonjour,
J'ai un tableau excel avec des coordonnées de personnes. Je voudrais, après sélection de x noms dans une feuille, lancer une macro pour créer un document word de x pages (une par adresse) pour imprimer sur des enveloppes.
Avec le publipostage c'est plutôt galère. Avec des signets, il me faut créer des centaines de pages avec le signets!!!
Si quelqu'un a une solution ou un endroit où je pourrais trouver...
Merci d'avance
A+
hrv53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 18h25   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 955
Points : 30 955
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Peux-tu expliquer pourquoi c'est "galère" avec le publipostage ? C'est pourtant la manière la plus efficace.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 09h50   #3
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 224
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 224
Points : 2 023
Points : 2 023
Bonjour,

Peut-être en lisant un peu.

http://word.developpez.com/faq/index...lipostageexcel
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 10h06   #4
Invité de passage
 
Homme
Enseignant
Inscription : novembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Mayenne (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2011
Messages : 5
Points : 0
Points : 0
Par défaut publipostage

D'après ce que je vois sur les macros, le problème du publipostage est qu'il faut dans la macro, sélectionner le tableau de la base des données et ensuite toujours dans la macro boucler sur les valeurs (For i = la 1ère à la dernière).
Or je suis dans le tableau et je voudrais simplement sélectionner la plage avec qque chose du style "Set Plage = Range(Selection.Address)" puis lancer le macro de création des enveloppes.
Pour l'instant je ne vois que qque chose un peut tordu du style avoir un .doc enveloppe avec les signets nom, prénom, etc. que je complète pour chaque ligne et à chaque fois je copie/colle ce .doc dans un autre fichier final où j'aurai toutes mes coordonnées enveloppe!!
A+
hrv53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 13h28   #5
Invité de passage
 
Homme
Enseignant
Inscription : novembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Mayenne (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2011
Messages : 5
Points : 0
Points : 0
Par défaut adressage enveloppes

Voilà ce que peut donner une solution peu rapide en 2 tps:
1) Pour chaque nom,remplir une enveloppe avec les signets
2) insérer dans un 2nd document les enveloppe de chaque nom

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
enveloppevierge = Nomdir & "enveloppe viergesignet.docx"
enveloppevierge2 = Nomdir & "enveloppe viergesignet2.docx"
Set WordApp2 = New Word.Application
WordApp2.Visible = True
Set docWord = WordApp2.Documents.Open(enveloppevierge2, ReadOnly:=True)
For Ligne = 3 To Cells(1, 3) + 3
Set Plage = Range(Selection.Address) 'Définit la plage de référence
If Not Intersect(Plage, Range("B" & Ligne)) Is Nothing Then
Set WordApp = CreateObject("word.application") 'ouvre session word
Set WordDoc = WordApp.Documents.Open(enveloppevierge) 'ouvre document Word
WordApp.Visible = False 'word masqué pendant l'operation
'remplir les signets d'enveloppeviergesignet
WordDoc.Bookmarks("civilite").Range.Text = Cells(Ligne, 12) 'civilité
WordDoc.Bookmarks("nom").Range.Text = Cells(Ligne, 13) ' nom1
WordDoc.Bookmarks("prenom").Range.Text = Cells(Ligne, 14) ' prénom1
WordDoc.Bookmarks("adr1").Range.Text = Cells(Ligne, 20) 'adr1
WordDoc.Bookmarks("adr2").Range.Text = Cells(Ligne, 21) 'adr1
WordDoc.Bookmarks("cp").Range.Text = Cells(Ligne, 23) 'cp1
WordDoc.Bookmarks("ville").Range.Text = Cells(Ligne, 22) 'ville1
'recopie dans enveloppe vierge signet2 WordDoc.Range(0, 0).Select
With WordApp
.Selection.WholeStory
.Selection.Copy
End With
With WordApp2
.Selection.PasteAndFormat (wdPasteDefault)
End With
WordDoc.Close False
Else
' MsgBox Cellule.Address & " n'appartient pas à la plage " & Plage.Address
End If
Next Ligne
pas très simple et surtout assez long!!!
hrv53 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 19h54.


 
 
 
 
Partenaires

Hébergement Web