Erreur variable objet ou variable de bloc with non définie
Bonjour,
Je travaille sur un projet dans lequel, j'ai besoin de manipuler 2 comboBox de Dates tel que lorsque les 2 liste auront la même date je devrai retrouver cette date dans ma base de donnée et effectuer es opérations sur la ligne de cette date. Je dois donc retrouver la cellule la contenant et retourner l'indice de la ligne concernée. Pour ce faire, j'utilise la méthode find() de Range, mais j'obtiens à tous les cous une erreur de type " variable objet ou variable de bloc with non définie".
J'ai cherché le soucis, mais en vain. Toute aide ou suggestion de votre part me serait d'une aide précieuse.
Voici le code qui bug: (et le classeur est joint si besoin est. L'erreur intervient après le clique du bouton valider)
Private Sub Valider_TDB_Click()
Dim trouve
Dim plage
Dim Valeur_Cherchee
Dim line
' Dim AdressTrouvee
If Date1_TDB.Value = Date2_TDB.Value Then
Valeur_Cherchee = Date1_TDB.Value
Set plage = Sheets("BD").Range("B7:B500")
'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)
Set trouve = plage.Find(Valeur_Cherchee, LookAt:=xlWhole)
' AdresseTrouvee = trouve.Address
' MsgBox AdresseTrouvee
'
MsgBox ("Cell(" & trouve.row & "," & trouve.Column & ")")
'vidage des variables
Set plage = Nothing
Set trouve = Nothing
End If
End Sub
Bonjour Agbgio9
Dans le code de ton fichier tu n'avais pas
Set Trouvemais uniquement
Trouvece qui te créé ton erreur
De plus on peut s'apercevoir (CTR+F) que le format de date recherché n'est pas correcte
Il faut donc changer ton code ainsi
Private Sub Valider_TDB_Click()
Dim Trouve As Range
Dim Plage As Range
Dim Valeur_Cherchee As Date
Dim line
' Dim AdressTrouvee
If Date1_TDB.Value = Date2_TDB.Value Then
Valeur_Cherchee = Format(Date1_TDB.Value, "dd/mm/yyyy")
Set Plage = Sheets("BD").Range("B7:B500")
'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)
Set Trouve = Plage.Find(Valeur_Cherchee, LookAt:=xlWhole)
If Not Trouve Is Nothing Then
MsgBox ("Cell(" & Trouve.Row & "," & Trouve.Column & ")")
End If
'vidage des variables
Set Plage = Nothing
Set Trouve = Nothing
End If
End SubSinon, très joli travail
@+
Vraiment merci infiniment pour le coup de pouce. Il m'est salutaire.