Erreur 1004

Résolu/Fermé
Davido10 - Modifié le 6 déc. 2021 à 10:54
 Davido10 - 6 déc. 2021 à 10:53
Bonjour,
j'espere que vous allez bien, j'ai un problème erreur 1004, la methode range de l'objet worksheet a echoue, et dans mon code, elle me selectionne cette ligne :
Set c = Range("T_DEVISS[N°Devis]").Find(what:=NoDevis.Value, LookAt:=xlWhole).

je suis preneur de toute solution

Sub EnregistrerFacture()
    Dim c As Range, NoDevis As Range, Ligne As Integer
    Dim Bdd As Worksheet, Fact As Worksheet
    Set Bdd = Worksheets("BDD-CHANTIERS")
    Set Fact = Worksheets("facture(3)")

    Set NoDevis = Fact.Range("C15")

    Set c = Range("T_DEVISS[N°Devis]").Find(what:=NoDevis.Value, LookAt:=xlWhole)

    If Not c Is Nothing Then

        Ligne = c.Row    ' n° de ligne du devis

        Bdd.Cells(Ligne, 34) = Fact.Range("c14")
        Bdd.Cells(Ligne, 35) = Fact.Range("c15")
        Bdd.Cells(Ligne, 36) = Fact.Range("g51")

        'faire la suite

    Else
        MsgBox "N° devis " & NoDevis & " non trouvé!"
    End If
    Set Bdd = Nothing
    Set Fact = Nothing
    Set NoDevis = Nothing
    Set c = Nothing
End Sub

1 réponse

jordane45 Messages postés 38219 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 juillet 2024 4 682
6 déc. 2021 à 10:44
Bonjour,

prefix le mot Range par la feuille contenant cette plage de cellule
par exemple :
Set c =  Bdd.Range("T_DEVISS[N°Devis]").Find(what:=NoDevis.Value, LookAt:=xlWhole)



NB: A l'avenir, merci d'utiliser les balises de code pour poster du code sur le forum
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
D'accord pas de problème, merci beaucoup à toi, ça marche.
J'avais pas remarqué cela !!!
0