Erreur d'execution 91 sous Excel/VBA

Teas -  
 Teas -
Bonjour,
voila j'ai un soucis lors de l'utilisation d'une commande sous vba.
lors que je clique sur le bouton celle si ne fonctionne pas.
Mais si je l’exécute manuellement le bouton fonctionne normalement juste après.

Private Sub CommandButton1_Click()

Dim c As Object

Set c = Sheets("histo cpl D").Range("A1").Find(Sheets("Devis").Range("R17").Value)

If (c.Value = "") Then
MsgBox ("Aucun numéro de devis séléctionner en case R17")
Exit Sub
End If

Dim therow As Integer

therow = c.Row

Sheets("Devis").Range("E5").Value = Sheets("histo cpl D").Cells(therow, 1).Value
Sheets("Devis").Range("E6").Value = Sheets("histo cpl D").Cells(therow, 2).Value
Sheets("Devis").Range("L6").Value = Sheets("histo cpl D").Cells(therow, 3).Value

End sub

J'ai lus que cela venais du fait que ma variable c étais égale a Nothing et qu'il fallait donc testé après le find, mais je ne vois pas comment faire fonctionner cela dès le 1er appuis sur le bouton de commande. Voila si quelqu'un a une soluce Merci.


Configuration: Windows / Firefox 98.0
A voir également:

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
tu ne donnes ni le message d'erreur, ni la ligne sur laquelle l'erreur se produit.

pourquoi ne testes-tu pas le contenu de R17 avant de faire le Find()?

Après le Find(), tu peux tester:
if c is nothing then
0
Teas
 
effectivement mon message manque de précision, excusé moi.
L'erreur interviens directement après la déclaration de Dim therow As Integer
à la ligne therow = c.Row.
Merci pour l'idée de vérifier le contenu de R17 avant de déclaré mes objet cela me permettra peut être de crée moins d'erreur.
0