Fonction: Variable Objet ou bloc with non définie

Bonjour tous le monde un petit problème de variable tout bête:

En début de code j'appel une fonction pour mettre la valeur dans une variable

ici:

Donnees = Worksheets(Onglet_Piece(ref))
Public Sub DFQ_Check(DFQ As Workbook, Original As Workbook)
Dim Donnees As Worksheet
Dim n As Long, k As Long, kdfq As Long
Dim ref As String, stm As String, bx As String, plan As String
ref = UStart.ref.Text
plan = UStart.plan.Text
stm = UStart.stm.Text
bx = UStart.bx.Text
ref = Application.WorksheetFunction.Substitute(ref, " ", "")
plan = Application.WorksheetFunction.Substitute(plan, " ", "")
stm = Application.WorksheetFunction.Substitute(stm, " ", "")
bx = Application.WorksheetFunction.Substitute(bx, " ", "")

Original.Activate
Donnees = Worksheets(Onglet_Piece(ref))

If Donnees.Name = "Nothing" Then                                                    'si els donées éxistent pas
    MsgBox ("La référence recherchée n'ai pas enregistré dans la base de données.")
    Exit Sub
End If
DFQ.Activate

Et voici la fonction:

Public Function Onglet_Piece(la_ref As String) As String 'attention penser a activer Original avant la fonction !!!!
Dim ws As Worksheet
Onglet_Piece = "Nothing"
For Each ws In Worksheets
    ws.Activate
    If CStr(Cells(1, 9)) = Left(la_ref, 9) Then Onglet_Piece = ws.Name
Next ws
End Function

J'ai beau vérifier toutes les variables me semble correctment déclarés donc mi no comprendo :/

A+

Je doute que le fichier soit utile mais au cazou: le mdp c'est lvp37

Bonjour,

"Donnees " est une variable objet de classe Worksheet. Donc:

Set Donnees = Worksheets(Onglet_Piece(ref))

Ah... ><

Merci l'ami.. j'ai pas l'habitude d'utiliser set !

Bonjour,

L'instruction "set" est obligatoire pour définir une variable objet.

Rechercher des sujets similaires à "fonction variable objet bloc definie"