Publipostage

Hello,

Bon, nouveau petit soucis, et j’espère trouver un peu d’aide par ici ! :smiley:

Je devrais créer une liste d’adresse (idéalement sur des pages A4 d’étiquettes autocollantes) des clubs et discothèques d’Allemagne. Grâce à tilllate.com, on a accès a une super liste de ces clubs ici. Le soucis, si je copie/colle ces adresses et les mets dans Excel pour me faire une liste d’adresses, elles sont dans le format :

Nom du club sous A1
Rue du club sous B1
Localité sous B2

Puis pour le deuxième ce sera :

Nom sous A3
Rue sous B3
Localité sous B4

Du coup, comme ma localité n’est pas dans sa propre colonne, je peux pas faire une règle de publipostage sous Word (07). Comme j’ai beaucoup d’adresses à traiter, quelqu’un n’aurait pas une piste sur comment remédier à ce soucis sans faire 500 fusion de cellules ?

Merci bien !

Selon moi soit tu sais faire ca avec des macros rapidement et ca peut être rentable en temps.
Soit 500 copiés-collés, bien que fastidieux ca doit faire 10-15 minutes à tout casser.

[quote=« Andejen, post:2, topic: 51053 »]Selon moi soit tu sais faire ca avec des macros rapidement et ca peut être rentable en temps.
Soit 500 copiés-collés, bien que fastidieux ca doit faire 10-15 minutes à tout casser.[/quote]

Le truc, c’est que je risque d’en avoir plus à faire, et que du coup, je préfèrerais trouver une solution automatisé. Et je suis une pince en macro :smiley:

Sinon, j’ai bien trouvé la soluce de mettre une formule en C1 où C1=B2 et ainsi, j’ai du coup mes 3 colonnes. Par contre, j’ai à chaque fois une ligne de trop, mais que je ne peux pas effacer, car sinon ma formule ne va plus :smiley:

[quote=« icha, post:3, topic: 51053 »]Le truc, c’est que je risque d’en avoir plus à faire, et que du coup, je préfèrerais trouver une solution automatisé. Et je suis une pince en macro :smiley:

Sinon, j’ai bien trouvé la soluce de mettre une formule en C1 où C1=B2 et ainsi, j’ai du coup mes 3 colonnes. Par contre, j’ai à chaque fois une ligne de trop, mais que je ne peux pas effacer, car sinon ma formule ne va plus :D[/quote]
j’ai du mal a comprendre ce que tu veux faire. un bout du fichier serais plus claire ( ce que tu aet ce que tu veux )

avec ta formule C&=B2 et rajoutant un filtre sur la colonne A (si vide on affiche pas)
Tu a une feuille qui doit avoir ce que tu veux ( visuellement seulement)
Tu sélect les 3 colonne et tu les colles sur une nouvelle feuille.
Si il ne copie colle pas le cellules masquées ( je sais plus), c’est bon.

[quote=“Lukkant, post:4, topic: 51053”]j’ai du mal a comprendre ce que tu veux faire. un bout du fichier serais plus claire ( ce que tu aet ce que tu veux )

avec ta formule C&=B2 et rajoutant un filtre sur la colonne A (si vide on affiche pas)
Tu a une feuille qui doit avoir ce que tu veux ( visuellement seulement)
Tu sélect les 3 colonne et tu les colles sur une nouvelle feuille.
Si il ne copie colle pas le cellules masquées ( je sais plus), c’est bon.[/quote]

Andejen à raison !

Vous êtes des fous, faire des centaines de copier-coller “si j’ai tout compris” puis retraiter le tout dans un tableur avec des formules à deux sous comme il y a 15 ans ou plus ?

Alors qu’un simple script rebol/perl/python/ruby/etc… de quelques dizaines lignes suffit à extraire ces infos et générer les étiquettes pdf à la volée (même sans utiliser un tableur) ? Enfin, après chacun tue le temps comme il veut.

Arnaud alias bigdan
vieux geek amiganoïde à tendance alternative…

[quote=« Lukkant, post:4, topic: 51053 »]j’ai du mal a comprendre ce que tu veux faire. un bout du fichier serais plus claire ( ce que tu aet ce que tu veux )

avec ta formule C&=B2 et rajoutant un filtre sur la colonne A (si vide on affiche pas)
Tu a une feuille qui doit avoir ce que tu veux ( visuellement seulement)
Tu sélect les 3 colonne et tu les colles sur une nouvelle feuille.
Si il ne copie colle pas le cellules masquées ( je sais plus), c’est bon.[/quote]

Alors en collant le fichier depuis tilllate, j’ai ceci :

en faisant ma fomule C2=B3 j’arrive à ceci :

Mais là, j’ai une ligne sur 2 qui n’est pas exploitable pour mon publipostage.
Du coup, je suis partit sur ton idée, et créer une nouvelle feuille, mais là, autre soucis, car j’ai ceci :

En fait, j’ai une formule du type

=Feuil1!A2 =Feuil1!B2 =Feuil1!B3
=Feuil1!A4 =Feuil1!B4 =Feuil1!B5
=Feuil1!A6 =Feuil1!B6 =Feuil1!B7

Mais si je copie colle ces 3 lignes de formule, a partir de la ligne suivante, la 5, il repart sur un =Feuil1!A5 au lieu de =Feuil1!A8, et rien ne fonctionne…

[quote=« bigdan, post:5, topic: 51053 »]Andejen à raison !

Vous êtes des fous, faire des centaines de copier-coller « si j’ai tout compris » puis retraiter le tout dans un tableur avec des formules à deux sous comme il y a 15 ans ou plus ?

Alors qu’un simple script rebol/perl/python/ruby/etc… de quelques dizaines lignes suffit à extraire ces infos et générer les étiquettes pdf à la volée (même sans utiliser un tableur) ? Enfin, après chacun tue le temps comme il veut.

Arnaud alias bigdan
vieux geek amiganoïde à tendance alternative…[/quote]

Alors j’aimerais bien, mais je n’ai aucune idée comment faire ça, suis assistant social moi :smiley:

Personne aurait une petite idée ? :confused:

Tu t’en sors ou tu veux un coup de main ?

Ben non, m’en sors pas, et je dois attaquer les listes des autres pays, donc j’ai plusieurs milliers d’adresses à gérer, donc je suis toujours (encore plus !) à la recherche d’une aide ou piste pour m’aider !

Je me permettrais de crier à l’aide ! :smiley:

J’ai du mal a répondre car je n’obtiens pas la même chose que toi ( les cellule en colonne ne sont pas fusionnées)
( j’ai office 2003 et non 2007)
Garde le C2=B3 ( deuxième image quoi)
Tu peux même avoir C3=B4, si tu veux te simplifier la répétition de la cellule

Selectionne la colonne A
Clique sur fusionner les cellule, ca devrais les défusionner.

Reste a éliminer les lignes en trop :

Copie toutes les colonnes , et colle les en collage spéciale valeurs sur une autre feuille
Sur cette feuille, sélectionne les 3 colonnes avec tes valeurs, applique un tri croissant sur la colonne A
Tu a fait remonter toutes les lignes inutile
Tu les sélectionnes tu les supprimes.

Tu devrais avoir une liste bien propre.

C’est clairement du bidouillage , mais ca se fait en moins d’une minute avec de la pratique.
Après si Bigdan te pond un script qui le fait en 2 secondes, je comprendrais que tu choisisse pas ma solution.

[quote=« icha, post:8, topic: 51053 »]Ben non, m’en sors pas, et je dois attaquer les listes des autres pays, donc j’ai plusieurs milliers d’adresses à gérer, donc je suis toujours (encore plus !) à la recherche d’une aide ou piste pour m’aider !

Je me permettrais de crier à l’aide ! :D[/quote]

OK je jetterai un coup d’oeil ce week-end. Je ne promets rien mais si c’est possible rapidement, je te balance le script qui va bien :smiley:

Arnaud

Essaye cette macro faite vraiment à l’arrache (c’est pas ma spécialité)

Définis juste les valeurs un peu plus bas.

Edit : Petite précision, sur ta feuille source vérifie que tu as bien toutes les valeurs et pas des formules faisant références à d’autres cellules. Pour éliminer ces formules tu fait un copier sur toute ta feuille que tu colle en spécial sur la même en activant l’option collage spécial avec Valeurs uniquement.

[code]Sub Macro1()

’ Macro1 Macro

'
Dim feuille_source As String
Dim feuille_destination_finale As String
Dim cellule_source As String
Dim cellule_dest As String
Dim ligne_encours As Integer
Dim lign_dest As Integer
Dim Total_de_ligne As Integer

’ on définit les valeurs des feuilles

feuille_source = “Feuil1” ’ <= Saisis ici le nom de ta feuille source
feuille_destination_finale = “Feuil2” ’ <= Saisis ici le nom de ta feuille de destination
Total_de_ligne = 100 ’ <= Saisis ici le nombre Total de lignes dans ta feuille source
ligne_dest = 1 ’ <= Saisis ici numéro de ligne de départ sur la feuille cible

’ on lance la boucle

For ligne_encours = 1 To Total_de_ligne

’ Copie du nom
cellule_source = “A” & ligne_encours
cellule_dest = “A” & ligne_dest

Worksheets(feuille_source).Range(cellule_source).Copy
ActiveSheet.Paste Destination:=Worksheets(feuille_destination_finale).Range(cellule_dest)

’ Copie de l’adresse
cellule_source = “B” & ligne_encours
cellule_dest = “B” & ligne_dest

Worksheets(feuille_source).Range(cellule_source).Copy
ActiveSheet.Paste Destination:=Worksheets(feuille_destination_finale).Range(cellule_dest)

’ Copie de la ville
cellule_source = “B” & ligne_encours + 1
cellule_dest = “C” & ligne_dest

Worksheets(feuille_source).Range(cellule_source).Copy
ActiveSheet.Paste Destination:=Worksheets(feuille_destination_finale).Range(cellule_dest)

’ on incrémente
ligne_encours = ligne_encours + 1
ligne_dest = ligne_dest + 1

Next ligne_encours

End Sub[/code]

Wahou, ça marche !! Merci beaucoup ! :smiley:

Merci aussi à vous autres !

Autre solution en Rebol :

REBOL [title: "De.Tillate.com grab" version: 1.0.0] write %adresses.txt "" for i 65 90 1 [parse read rejoin [http://de.tilllate.com/fr/locations?sl= to-char i] [thru "<th>Type</th>^/^(tab)^(tab)</tr>" copy adr to </colgroup>] write/append %adresses.txt join adr "^/" print to-char i]

A lancer depuis la console rebol avec un do %/cheminduscript/icha.r ou en cliquant sur icha.r

Cela t’extrait en moins d’une minute toutes les adresses de A à Z (avec balises

et ) soit un gros fichier de 1,2 Mo… Exemple pour la première adresse :

[html]


A-Danceclub
Waldstr. 101
90763 Fürth
Mittelfranken
Club, Lounge
[/html]

Ensuite j’utilise un deuxième petit script rebol qui me parse et me remet tout cela en forme pour un CSV qui va bien (en virant les tag

et au passage et en rajoutant “Allemagne” pour le dernier champ) :

A-Danceclub;Waldstr. 101;90763 Fürth;Mittelfranken;Club, Lounge ;Allemagne;
A-Gebäude (alte Aula) HSKA;Moltkestra�?e 30;76133 Karlsruhe;Karlsruhe;Lieux divers ;Allemagne;

etc… etc…

Le bazar, pour nous latins, avec les adresses allemands c’est les ü et autres ß !

Remarque : les champs Région et Type ne devraient pas te servir, sauf si tu fais des mailings par région, etc…