Erreur 1004 "erreur définie par l'application ou l'objet"

Bonjour la communauté, j'espère que vous allez bien. Je vous sollicite aujourd'hui pour m'aider à identifier une erreur 1004 qui se produit dans l'execution d'un code VBA.Le contexte: j'aimerais executer un code VBA me permettant de définir une valeur cible (1000 en l'occurrence) sur une plage de cellule d'une feuille X si la valeur de la cellule est négative. La cellule à modifier se trouve dans une feuille Z. J'ai redigé un code mais après exécution j'ai une erreur 1004 "erreur définie par l'application ou l'objet". pouvez vous m'aider à identifier le problème. Ci dessous le code:

 Sub AppliquerValeurCible()
    Dim sourceSheet As Worksheet
    Dim targetSheet As Worksheet
    Dim sourceRange As Range
    Dim targetRange As Range
    Dim sourceCell As Range
    Dim targetValue As Double
    ' Spécifiez la feuille source (Calc_IAM_Sen)
    Set sourceSheet = ThisWorkbook.Worksheets("Calc_IAM_Sen")
    ' Spécifiez la feuille cible (Hyp-Générales)
    Set targetSheet = ThisWorkbook.Worksheets("Hyp-Générales")
    ' Spécifiez la plage de cellules source à traiter (L153 à U153 de la feuille Calc_IAM_Sen)
    Set sourceRange = sourceSheet.Range("L153:U153")
    ' Spécifiez la plage de cellules cibles à modifier (L61 à U62 de la feuille Hyp-Générales)
    Set targetRange = targetSheet.Range("L61:U62")
    ' Parcourir chaque cellule dans la plage source
    For Each sourceCell In sourceRange
        ' Vérifier si la cellule source est négative
        If sourceCell.Value < 0 Then
            ' Calculer la valeur à atteindre (10000 dans ce cas)
            targetValue = 10000
            ' Appliquer la fonction Valeur cible à la cellule cible correspondante avec la valeur à atteindre
            targetSheet.Cells(sourceCell.Row - sourceRange.Row + targetRange.Row, sourceCell.Column - sourceRange.Columns(1).Column + targetRange.Columns(1).Column).GoalSeek Goal:=targetValue, ChangingCell:=targetRange.Cells(sourceCell.Column - sourceRange.Columns(1).Column + 1)
        End If
    Next sourceCell
End Sub

 

Bonjour Dede5032 et

Merci de joindre une fichier exemple avec des données, le code et votre formule SVP

A+

Bonjour,

Ca serait également bien d'avoir la ligne en erreur. C'est celle qui apparaît surlignée en jaune quand tu cliques sur "Débogage" dans le message d'erreur.

Daniel

Bonjour Daniel,

L'erreur se situe au niveau de la dernière ligne de code: "targetSheet.Cells(sourceCell.Row - sourceRange.Row + targetRange.Row, sourceCell.Column - sourceRange.Columns(1).Column + targetRange.Columns(1).Column).GoalSeek Goal:=targetValue, ChangingCell:=targetRange.Cells(1, sourceCell.Column - sourceRange.Columns(1).Column + 1)"

Rechercher des sujets similaires à "erreur 1004 definie application objet"