bonjour.

tout d'abord, je m'excuse, je ne suis pas un expert BO ni VBA, aussi je peux utiliser des termes inappropriés.

Mon besoin est le suivant. A partir d'une requête BO, j'ai une liste d'ordre de fabrication que je voudrais pouvoir imprimer en code barre de type code128.

Sous excel, je sais le faire via une fonction VBA, mais je n'ai pas trouvé la possibilité de créer une variable utilisant une fonction VBA dans sa formule.

J'ai alors voulu faire une macro sur rafraichissement pour calculer une variable de type variant contenant toutes les chaines de caractères nécessaire à l'utilisation de l police code128. J'arrive à le faire, mais je n'arrive pas à afficher les valeurs calculées par la macro dans mon rapport.

uniquement la première valeur s'affiche sur toutes mes lignes.

je vous donne ma macro.
Private Sub Document_afterRefresh()
Dim Doc As Document
Dim DocVarOF As DocumentVariable
Dim DocVarOF_CB As DocumentVariable
Dim DpVars As Variables
Dim DpVar As Variable
Dim txt As String 'pour debug
Dim txt2 As String 'pour debug
Dim oVariablesNumof As Variant
Dim oVariablesNumOF_CB As Variant


Application.Interactive = True
Set Doc = Application.ActiveDocument

txt = ""
nbv = 0

Set DocVarOF = Doc.DocumentVariables("Numof")
Set DocVarOF_CB = Doc.DocumentVariables("Numof")

oVariablesNumof = DocVarOF.Values(BoAllValues)
oVariablesNumOF_CB = DocVarOF_CB.Values(BoAllValues)


For i = 1 To UBound(oVariablesNumof)
txt = oVariablesNumof(i)
txt2 = code128$(txt)

oVariablesNumOF_CB(i) = txt2


Next

si quelqu'un à la solution, cela m'aiderait beaucoup.

merci