publipostage format spécial

DOLLY137

XLDnaute Nouveau
Bonjour,

J'aurai besoin de vos lanternes !!!

J'aimerai faire une publipostage particulier. Je m'explique. Imaginons que j'ai plusieurs services et sous services... avec chacun un sigle. J'aimerai qu'à chaque fois qu'il y a une référence particulière, à un endroit de ma lettre, le détail apparaisse. Bon jusque là je sais faire...

exemple de donnée: DRH / SMAT = Département Ressources Humaines, Service Maladie et Accidents de Travail.

par contre là où ça se complique (pour moi parce que vous êtes tellement fort que vous allez me trouver ça en 5 secondes) c'est lorsque je veux l'insérer dans cette mise en forme: Département Ressources Humaines, Service Maladie et Accidents de Travail


Et là c'est le drame...... je sais po comment faire :'(

Help!! Marchi d'avance !!!!
 

Brigitte

XLDnaute Barbatruc
Re : publipostage format spécial

Bonjour,

As tu essayé avec "insertions automatiques" ? Après pour un publipostage, je ne sais pas...

Mais en tout cas tu saisis :

Département Ressources Humaines

Tu le sélectionnes ainsi mis en forme, tu fais INSERTION/"insertion automatique", tu tapes DRH en haut et tu valides (ajouter)...

Puis dans une feuille vierge, tape DRH et fais F3... ca le tape dans la bonne mise en forme.

Le publipostage, je crois pas que ca puisse marcher... car ca ne prend pas en compte, à ma connaissance, la mise en forme.

Idem pour tous tes items.
 

PMO2

XLDnaute Accro
Re : publipostage format spécial

Bonjour,

Une piste en VBA

copiez le code suivant dans un module standard du Document concerné

Code:
Dim Sigles

'/// Cette Sub est à renseigner selon vos sigles et leur correspondance               ///
'/// Inscrire d'abord le sigle (ex : "DRH / SMAT") puis sa correspondance             ///
'/// (ex : "Département Ressources Humaines, Service Maladie et Accidents de Travail" ///
Sub InitSigles(Optional dummy As Byte)
Sigles = Array("DRH / SMAT", "Département Ressources Humaines, Service Maladie et Accidents de Travail", _
  "PMO", "Programmation Microsoft Office", "S1_A", "Service 1 Alimentation")
End Sub
'////////////////////////////////////////////////////////////////////////////////////////

Public Sub CorrespondancesSigles()
Dim A$
Dim Ref$
Dim x%
Dim i&
Dim j&
Dim k&
Dim bool
Call InitSigles
For i& = 0 To UBound(Sigles) - 1 Step 2
  ActiveDocument.Content.Select
  With Selection.Find
    .Forward = True
    .ClearFormatting
    .MatchWholeWord = True
    .MatchCase = False
    .Wrap = wdFindContinue
    If .Execute(FindText:=Sigles(i&)) Then
      Ref$ = ""
      A$ = Sigles(i&)
      For j& = 2 To Len(A$)
        x% = Asc(Mid(A$, j&, 1))
        bool = False
        If x% >= 48 And x% <= 57 Then bool = True
        If x% >= 65 And x% <= 90 Then bool = True
        If x% >= 97 And x% <= 122 Then bool = True
        If bool Then Ref$ = Ref$ & Mid(A$, j&, 1)
      Next j&
      A$ = Sigles(i& + 1)
      Selection = A$
      Selection.Characters(1).Font.Bold = True
      For j& = 2 To Len(A$)
        If Mid(A$, j& - 1, 1) = Space(1) Then
          If UCase(Mid(A$, j&, 1)) = UCase(Mid(Ref$, 1, 1)) Then
            Selection.Characters(j&).Font.Bold = True
            Ref$ = Mid(Ref$, 2)
          End If
        End If
      Next j&
    End If
  End With
Next i&
End Sub

La Sub InitSigles est à renseigner selon vos sigles et leur correspondance.

Cordialement.

PMO
Patrick Morange
 

Statistiques des forums

Discussions
312 330
Messages
2 087 339
Membres
103 524
dernier inscrit
Smile1813