l'appel de procédure se fait sans les parenthèses :
trait_ligne c1

____________________________________
Bonjour à tous,

Ce code provoque une erreur "objet requis" à l'appel de la procédure trait_ligne(c1). Ce n'est pas la première fois que j'ai ce genre d'erreur lorsque je passe un objet cellule en argument d'une procédure. Il y a certainement quelque chose que je n'ai pas compris. Pourriez-vous m'aider ?

Bonne journée,

Philippe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub main()
Dim c1 As Range
Set c1 = ActiveCell
trait_ligne (c1)
End Sub
 
Sub trait_ligne(cellule As Range)
Dim valeur As String
Dim mot As String
Dim pos As Integer
Dim col As Integer
valeur = cellule.Value
col = 1
 
While InStr(2, valeur, "\") <> 0
    pos = InStr(2, valeur, "\")
    mot = Mid(valeur, 2, pos - 2)
    cellule.Offset(, col).Value = mot
    col = col + 1
    valeur = Mid(valeur, pos, Len(valeur) - pos + 1)
Wend
End Sub