Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

création d'un champ a partir d'une fonction VB

30 réponses
Avatar
Laurent
Bonjour,

Je recherche le moyen de créer un champ sur Word pour transformer
automatiquement les 3 premiers caracteres d'une référence en adresse ou
qu'un champ puisse lancer automatiquement une fonction (ou sub).

Je m'explique :
Je m'occupe de l'impression de document pour nos clients, avant je devais
mettre qu'une seule adresse de retour au client, maintenant que nous avons
fusionné avec 7 autres groupes, je dois mettre, en fonction de la référence
du client, 7 adresses differentes.

J'aurai voulu créer un champs a partir d'une fonction VB de ce style là :



Function RecupAdresse(Ref As String)

If gauche(Ref, 3) = "001" Then
RecupAdresse = "3 Rue Machin 75001 Paris"
ElseIf gauche(Ref, 3) = "002" Then
RecupAdresse = "17 Rue Truc 59000 Lille"
ElseIf gauche(Ref, 3) = "003" Then
RecupAdresse = "23 Rue Bidule 02000 Laon"
ElseIf [7 fois ...]
Else
RecupAdresse = "3 Rue Machin 75001 Paris"
End If

End Function


Pour après mettre le champ sur word comme ça :

{=RecupAdresse(MERGEFIELD "Ref") \* MERGEFORMAT}


Je ne peux pas modifier ma base de données ni modifier le programme qui
lance la fusion (mot de passe)

J'espère avoir été clair ...

Avez-vous une idée ?

Merci pour vos réponse

Amicalement Laurent

10 réponses

1 2 3
Avatar
Laurent
Je vous fais parvenir demain un exemple de fichier excel.

Sinon, pour Géo, j'ai essayé en mettant un espace entre le > et le ", mais
j'ai fais tellement de test la dessus que je ne sais plus à la fin ce j'ai
testé ou non ...

En tout cas, merci beaucoup pour votre aide précieuse.

Laurent




"Anacoluthe" a écrit dans le message de news:

Bonjour !

'Laurent' nous a écrit ...
Je reconnais que le problème est pas simple ... Je suis à cours d'idée



....


Pouvez-vous envoyer un exemple de la base et du document de publipostage
souhaité sur http://cjoint.com/ ?

Si y'a pas moyen de faire autrement, on sortira vite fait la meule à
macros !


[HS} C'est bête j'étais bien parti pour que JièL me refile des points
d'AMIS (Anti-Macros Inutilement Superfétatoires)
encore qu'avec sa macro de transfert de matière dans un éculsystème
je ne sais pas s'il va rester crédible :-) ))))))

Anacoluthe
« Un gentleman, c'est quelqu'un qui sait jouer
de la cornemuse et qui n'en joue pas. »
- Pierre DESPROGES

--
Oui un macroteur doit être un gentleman avec son vba
Comment dit-on pour une macroteuse ?



Avatar
Laurent
Voila j'ai collé un exemple de fichier excel et un essai de fichier Word sur
http://cjoint.com/ à l'adresse http://cjoint.com/?fhwiEJwG0A

Merci à ceux qui pourront y jeter un coup d'oil pour m'aider à trouver un
moyen de créer une adresse en fonction des 3 premiers caractères de la
référence.

Merci pour vos réponses.

Amicalement Laurent


"Anacoluthe" a écrit dans le message de news:

Bonjour !

'Laurent' nous a écrit ...
Je reconnais que le problème est pas simple ... Je suis à cours d'idée



....


Pouvez-vous envoyer un exemple de la base et du document de publipostage
souhaité sur http://cjoint.com/ ?

Si y'a pas moyen de faire autrement, on sortira vite fait la meule à
macros !


[HS} C'est bête j'étais bien parti pour que JièL me refile des points
d'AMIS (Anti-Macros Inutilement Superfétatoires)
encore qu'avec sa macro de transfert de matière dans un éculsystème
je ne sais pas s'il va rester crédible :-) ))))))

Anacoluthe
« Un gentleman, c'est quelqu'un qui sait jouer
de la cornemuse et qui n'en joue pas. »
- Pierre DESPROGES

--
Oui un macroteur doit être un gentleman avec son vba
Comment dit-on pour une macroteuse ?



Avatar
Laurent
Vous n'avez pas d'idées ?

Merci

Laurent


"Laurent" a écrit dans le message de news:

Voila j'ai collé un exemple de fichier excel et un essai de fichier Word
sur

http://cjoint.com/ à l'adresse http://cjoint.com/?fhwiEJwG0A

Merci à ceux qui pourront y jeter un coup d'oil pour m'aider à trouver un
moyen de créer une adresse en fonction des 3 premiers caractères de la
référence.

Merci pour vos réponses.

Amicalement Laurent


"Anacoluthe" a écrit dans le message de
news:


Bonjour !

'Laurent' nous a écrit ...
Je reconnais que le problème est pas simple ... Je suis à cours
d'idée




....


Pouvez-vous envoyer un exemple de la base et du document de publipostage
souhaité sur http://cjoint.com/ ?

Si y'a pas moyen de faire autrement, on sortira vite fait la meule à
macros !


[HS} C'est bête j'étais bien parti pour que JièL me refile des points
d'AMIS (Anti-Macros Inutilement Superfétatoires)
encore qu'avec sa macro de transfert de matière dans un éculsystème
je ne sais pas s'il va rester crédible :-) ))))))

Anacoluthe
« Un gentleman, c'est quelqu'un qui sait jouer
de la cornemuse et qui n'en joue pas. »
- Pierre DESPROGES

--
Oui un macroteur doit être un gentleman avec son vba
Comment dit-on pour une macroteuse ?







Avatar
Laurent
Vous n'avez pas d'idées ?

Merci

Laurent


"Laurent" a écrit dans le message de news:

Voila j'ai collé un exemple de fichier excel et un essai de fichier Word
sur

http://cjoint.com/ à l'adresse http://cjoint.com/?fhwiEJwG0A

Merci à ceux qui pourront y jeter un coup d'oil pour m'aider à trouver un
moyen de créer une adresse en fonction des 3 premiers caractères de la
référence.

Merci pour vos réponses.

Amicalement Laurent


"Anacoluthe" a écrit dans le message de
news:


Bonjour !

'Laurent' nous a écrit ...
Je reconnais que le problème est pas simple ... Je suis à cours
d'idée




....


Pouvez-vous envoyer un exemple de la base et du document de publipostage
souhaité sur http://cjoint.com/ ?

Si y'a pas moyen de faire autrement, on sortira vite fait la meule à
macros !


[HS} C'est bête j'étais bien parti pour que JièL me refile des points
d'AMIS (Anti-Macros Inutilement Superfétatoires)
encore qu'avec sa macro de transfert de matière dans un éculsystème
je ne sais pas s'il va rester crédible :-) ))))))

Anacoluthe
« Un gentleman, c'est quelqu'un qui sait jouer
de la cornemuse et qui n'en joue pas. »
- Pierre DESPROGES

--
Oui un macroteur doit être un gentleman avec son vba
Comment dit-on pour une macroteuse ?







Avatar
Circé
Bonjour laurent,

Je viens de jeter un oeil... J'espèrais que les espaces soient du pur
formatage Excel, or il n'en est rien puisque les espaces sont saisis...
Donc, ce n'est pas considéré comme du numérique...

A part une macro... Je ne vois pas bien de solution uniquement en
manipulant les champs...

Circé
http://faqword.free.fr

Laurent avait soumis l'idée :
Voila j'ai collé un exemple de fichier excel et un essai de fichier Word sur
http://cjoint.com/ à l'adresse http://cjoint.com/?fhwiEJwG0A

Merci à ceux qui pourront y jeter un coup d'oil pour m'aider à trouver un
moyen de créer une adresse en fonction des 3 premiers caractères de la
référence.

Merci pour vos réponses.

Amicalement Laurent


"Anacoluthe" a écrit dans le message de news:

Bonjour !

'Laurent' nous a écrit ...
Je reconnais que le problème est pas simple ... Je suis à cours d'idée là
....


Pouvez-vous envoyer un exemple de la base et du document de publipostage
souhaité sur http://cjoint.com/ ?

Si y'a pas moyen de faire autrement, on sortira vite fait la meule à macros
!

[HS} C'est bête j'étais bien parti pour que JièL me refile des points
d'AMIS (Anti-Macros Inutilement Superfétatoires)
encore qu'avec sa macro de transfert de matière dans un éculsystème
je ne sais pas s'il va rester crédible :-) ))))))

Anacoluthe
« Un gentleman, c'est quelqu'un qui sait jouer
de la cornemuse et qui n'en joue pas. »
- Pierre DESPROGES

--
Oui un macroteur doit être un gentleman avec son vba
Comment dit-on pour une macroteuse ?





Avatar
Circé
Re...

Alors je me suis dit qu'il fallait quand même tenter le coup...

A la fusion, Word donne une erreur de syntaxe... Forcément ce n'est pas
très catholique comme division... mais, comme je t'ai dit, Word n'étant
pas très regardant sur les chiffres, la division donne quand même un
bon résultat, accompagné d'une erreur de syntaxe.

Le problème est que, lors de la fusion, Word s'arrête à chaque
enregistrement pour signaler l'erreur de syntaxe.

Qu'à cela ne tienne... J'ai fait une petite macro qui lance la fusion
sans s'arrêter sur les erreurs.
En conséquence : tu as le résultat de ta fusion, plus le résultat des
erreurs sur un doc à part que tu peux jeter...

j'ai tout testé, les résultats sont bons... A toi de voir. Pour moi, ça
marche.

Je te mets le fichier ici :
http://cjoint.com/?fmc4iKQ5po
La macro est dans le fichier.

Pour lancer la fusion, tu lances la macro...

Circé
http://faqword.free.fr



Laurent avait écrit le 07/05/2007 :
Voila j'ai collé un exemple de fichier excel et un essai de fichier Word sur
http://cjoint.com/ à l'adresse http://cjoint.com/?fhwiEJwG0A

Merci à ceux qui pourront y jeter un coup d'oil pour m'aider à trouver un
moyen de créer une adresse en fonction des 3 premiers caractères de la
référence.

Merci pour vos réponses.

Amicalement Laurent


"Anacoluthe" a écrit dans le message de news:

Bonjour !

'Laurent' nous a écrit ...
Je reconnais que le problème est pas simple ... Je suis à cours d'idée là
....


Pouvez-vous envoyer un exemple de la base et du document de publipostage
souhaité sur http://cjoint.com/ ?

Si y'a pas moyen de faire autrement, on sortira vite fait la meule à macros
!

[HS} C'est bête j'étais bien parti pour que JièL me refile des points
d'AMIS (Anti-Macros Inutilement Superfétatoires)
encore qu'avec sa macro de transfert de matière dans un éculsystème
je ne sais pas s'il va rester crédible :-) ))))))

Anacoluthe
« Un gentleman, c'est quelqu'un qui sait jouer
de la cornemuse et qui n'en joue pas. »
- Pierre DESPROGES

--
Oui un macroteur doit être un gentleman avec son vba
Comment dit-on pour une macroteuse ?





Avatar
Circé
Circé a formulé la demande :


Qu'à cela ne tienne... J'ai fait une petite macro qui lance la fusion sans
s'arrêter sur les erreurs.
En conséquence : tu as le résultat de ta fusion, plus le résultat des erreurs
sur un doc à part que tu peux jeter...


Aïe aïe !!! Voilà que je fais du superfétatoire !!!!!

J'avais totalement oublié qu'on pouvait faire la fusion en passant sur
les erreurs, SANS macro !!! La honteuuu !!! :D

Donc, pas besoin de macro, suffit de cliquer sur le bouton "Vérifier la
fusion", et choisir la dernière option "Effectuer la fusion avec les
erreurs rapportées dans un nouveau doc".

Bon, cette fois, je vais dormir... c'est la fatigue !!! :D

Circé

Avatar
Geo

Donc, pas besoin de macro, suffit de cliquer sur le bouton "Vérifier la fusion", et
choisir la dernière option "Effectuer la fusion avec les erreurs rapportées dans un
nouveau doc".


Qui c'est-y qui disait qu'il faudrait faire un bouquin rien que sur la
fusion Word ?

--
A+

Avatar
Anacoluthe
Bonjour !

'Laurent' nous a écrit ...
Voila j'ai collé un exemple de fichier excel et un essai de fichier Word sur
http://cjoint.com/ à l'adresse http://cjoint.com/?fhwiEJwG0A


J'avais jeté un coup d'oeil aussi et constaté dans Excel que le champ
était bien un champ /alphanumérique/ fait de chiffres et d'espaces.

Par conséquent je n'ai pas vu ce qu'on pouvait ajouter de plus à
ce que nous avions proposé dans cette longue ficelle :

1. traiter en priorité le problème dans Excel en ajoutant un champ calculé
"Adresse du Site" en fonction du champ tronqué aux 3 premiers caractères

2. S'il faut traiter dans Word, utiliser les comparateurs alpha dans des
champs IF

Je n'ai pas vu où est le problème pour cette 2ème soluce.
La preuve : http://cjoint.com/?fmjQ1qKjaq
Pour moi ça marche avec des IF .......

Bravo à Circé dont la gestion d'erreur permet d'utiliser le champ
de façon numérique !! L'astuce peut resservir ;-)

Anacoluthe
« Après avoir cherché sans trouver,
il arrive qu'on trouve sans chercher. »
- Jérôme K JÉRÔME

Avatar
Laurent
Un GRAND merci à vous 2, Circé et Anacoluthe.

Vos 2 solutions fonctionnent sans problème. Vous m'avez enlevé une énorme
épine du pied.

Vous êtes vraiment très pro.

Merci encore

Amicalement Laurent



"Anacoluthe" a écrit dans le message de news:

Bonjour !

'Laurent' nous a écrit ...
Voila j'ai collé un exemple de fichier excel et un essai de fichier Word
sur


http://cjoint.com/ à l'adresse http://cjoint.com/?fhwiEJwG0A


J'avais jeté un coup d'oeil aussi et constaté dans Excel que le champ
était bien un champ /alphanumérique/ fait de chiffres et d'espaces.

Par conséquent je n'ai pas vu ce qu'on pouvait ajouter de plus à
ce que nous avions proposé dans cette longue ficelle :

1. traiter en priorité le problème dans Excel en ajoutant un champ calculé
"Adresse du Site" en fonction du champ tronqué aux 3 premiers caractères

2. S'il faut traiter dans Word, utiliser les comparateurs alpha dans des
champs IF

Je n'ai pas vu où est le problème pour cette 2ème soluce.
La preuve : http://cjoint.com/?fmjQ1qKjaq
Pour moi ça marche avec des IF .......

Bravo à Circé dont la gestion d'erreur permet d'utiliser le champ
de façon numérique !! L'astuce peut resservir ;-)

Anacoluthe
« Après avoir cherché sans trouver,
il arrive qu'on trouve sans chercher. »
- Jérôme K JÉRÔME



1 2 3