Un petit soucis avec la première méthode proposée :
La ligne en gras est facultative, puisque j'ai déjà le nom du signet, mais j'ai laissé ainsi dans un premier temps pour éviter les erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Public Sub InfoCC(MO As String, MOE As String, design As String, CP As String, start As String) Dim bs As Integer Dim stTemp As String Dim stBM As String Dim rng As Range bs = ActiveDocument.Bookmarks("MO").start stBM = ActiveDocument.Bookmarks("MO").Name ActiveDocument.Bookmarks("MO").Range.Text = MO Set rng = Range(start:=bs, End:=bs + Len(MO)) Selection.Bookmarks.Add Name:=stBM, Range:=rng [...MOE, design,...] End sub
J'ai revu le code pour mon appli, ayant le nom de chaque signet par avance, je n'ai pas "besoin" de le récupérer où de l'envoyer à la procédure.
J'appelle ma procédure ainsi :
J'ai une erreur de compilation : Sub ou function non définie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 If etatCC = 2 Then With wApp .Documents.Open (CheminCC) End With InfoDocs.InfoCC Me.txtMO.Value, Me.txtMOE.Value, Me.txtDesign.Value, Me.txtCP.Value, Me.txtstart.Value End If
En jaune, cette ligne :
et dans cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public Sub InfoCC(MO As String, MOE As String, design As String, CP As String, start As String)
Le "Range" est sélectionné en bleu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set rng = Range(start:=bs, End:=bs + Len(MO))
Je suis sur Access 2007.
Je m'en vais essayer la seconde proposition, mais elle m'avait l'air moins abordable de prime abord !
Wulfram
Partager