Comment mettre un Woeksheets en variable ds une sub?

Pourquoi cela ne marche pas?

Sub test()

Dim Ws As Worksheet

Set Ws = Worksheets("CDEX")

proc(Ws)

End Sub

Sub proc(onglet As Worksheet)

End Sub

Bonjour,

Je ne crois pas que l'on puisse passer un onglet dans un paramètre puis dans une variable.

Mais on peut passer son nom.

Un essai ...

Sub test()
Dim Ws As Worksheet
Dim S As String
    Set Ws = Worksheets("CDEX")
    S = Ws.Name
    proc (S)
End Sub

Sub proc(onglet As String)
    Worksheets(onglet).Activate
    Cells(3, 3).Select
'...
End Sub

ric

Merci! Parfait! Bonne soirée!

Bonjour le fil,

Bonjour,

Je ne crois pas que l'on puisse passer un onglet dans un paramètre puis dans une variable.

Bien sur que si, il faut juste utiliser les bonnes instructions

Sub test()
  Dim Ws As Worksheet
  Set Ws = Worksheets("CDEX")
  Call Proc(Ws)
End Sub

Sub Proc(onglet As Worksheet)
  MsgBox "C'est bon, ça marche"
End Sub

Bonjour à tous,

C'est le "Call" qu'il manquait, je note, je note ... (si bémol)

ric

Bonjour,

sans call c'est possible aussi, il faut enlever les paranthèses

Sub test()
  Dim Ws As Worksheet
  Set Ws = Worksheets("CDEX")
 Proc Ws
End Sub

Sub Proc(onglet As Worksheet)
  MsgBox "C'est bon, ça marche"
End Sub
Rechercher des sujets similaires à "comment mettre woeksheets variable sub"