Hel me erreur que je ne connais pas - VB/VBA/VBS - Programmation
MarshPosté le 31-12-2009 à 18:28:36
Bonjour à tous,
bébutant en VBA, j'ai fait un programme et il bug à un endroit mais je ne comprend pas sa remarque la voici : "un appel de fonction dans la partie gauche de l'affectation doit renvoyer variant ou object" au niveau de la msgbox "Vous avez saisi un code ne figurant pas dans la base. " Pouvez-vous m'eclairer et me donner des pistes possibles Merci voici le code en VBA Excel
Private Sub IDENTIFICATION_Click()
Dim nblivreretard, nbjourretard As Integer Dim i, j, dureeretard As Integer Dim dateretour As Date Dim error As Boolean
Sheets("stocklivre" ).Select Call statut 'module de traitement de l'état du doc
'macro pour déterminer le retard si il existe des clients
Sheets("Stocklivre" ).Select
i = 2 Do While (Worksheets("stocklivre" ).Cells(i, 1) <> "" ) dateretour = CDate(Cells(i, "G" )) If Cells(i, "E" ) = "Emprunté" And dateretour < Date Then dureeretard = Date - dateretour Cells(i, "H" ) = dureeretard Cells(i, "H" ).Select Selection.Interior.Color = 255 Selection.Font.Bold = True Else: Cells(i, "H" ) = "" End If i = i + 1 Loop
'utiliser la feuille excel Saisie comme element permettant de faire des recherches dans la base client 'afin de faire apparaitre certains éléments du profil du client 'ensuite ouvrir le code d'identification du livre
Sheets("Saisie" ).Select
If Not (IsNumeric(idclt)) Then Unload IDENTIFICATIONCLIENT MsgBox ("Le code d'identification du client se compose de 1 à 5 chiffres. Reportez-vous à la carte du client" ) IDENTIFICATIONCLIENT.Show
End If
'formule pour vérifier que le code saisi existe version client
Sheets("base clients" ).Select point1: i = 2 error = False
Do While (Worksheets("base clients" ).Cells(i, 2) <> "" ) If CInt(idclt.Value) <> CInt(Worksheets("base clients" ).Cells(i, 1).Value) Then error = True i = i + 1 End If
Loop
If error = True Then MsgBox = "Le code saisi n'existe pas dans la base de donnée. Veuillez en ressaisir un. Merci" If= 1 Then GoTo point1
Marsh Posté le 31-12-2009 à 18:28:36
Bonjour à tous,
bébutant en VBA, j'ai fait un programme et il bug à un endroit mais je ne comprend pas sa remarque la voici : "un appel de fonction dans la partie gauche de l'affectation doit renvoyer variant ou object" au niveau de la msgbox "Vous avez saisi un code ne figurant pas dans la base. "
Pouvez-vous m'eclairer et me donner des pistes possibles Merci
voici le code en VBA Excel
Private Sub IDENTIFICATION_Click()
Dim nblivreretard, nbjourretard As Integer
Dim i, j, dureeretard As Integer
Dim dateretour As Date
Dim error As Boolean
Sheets("stocklivre" ).Select
Call statut 'module de traitement de l'état du doc
'macro pour déterminer le retard si il existe des clients
Sheets("Stocklivre" ).Select
i = 2
Do While (Worksheets("stocklivre" ).Cells(i, 1) <> "" )
dateretour = CDate(Cells(i, "G" ))
If Cells(i, "E" ) = "Emprunté" And dateretour < Date Then
dureeretard = Date - dateretour
Cells(i, "H" ) = dureeretard
Cells(i, "H" ).Select
Selection.Interior.Color = 255
Selection.Font.Bold = True
Else: Cells(i, "H" ) = ""
End If
i = i + 1
Loop
'utiliser la feuille excel Saisie comme element permettant de faire des recherches dans la base client
'afin de faire apparaitre certains éléments du profil du client
'ensuite ouvrir le code d'identification du livre
Sheets("Saisie" ).Select
If Not (IsNumeric(idclt)) Then
Unload IDENTIFICATIONCLIENT
MsgBox ("Le code d'identification du client se compose de 1 à 5 chiffres. Reportez-vous à la carte du client" )
IDENTIFICATIONCLIENT.Show
End If
'formule pour vérifier que le code saisi existe version client
Sheets("base clients" ).Select
point1:
i = 2
error = False
Do While (Worksheets("base clients" ).Cells(i, 2) <> "" )
If CInt(idclt.Value) <> CInt(Worksheets("base clients" ).Cells(i, 1).Value) Then
error = True
i = i + 1
End If
Loop
If error = True Then
MsgBox = "Le code saisi n'existe pas dans la base de donnée. Veuillez en ressaisir un. Merci"
If= 1 Then GoTo point1
Sheets("saisie" ).Select
Range("B3" ).Value = IDENTIFICATIONCLIENT.idclt.Value