Erreur d'éxecution 1004 - HELP

  • Initiateur de la discussion Initiateur de la discussion ssassam
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ssassam

XLDnaute Occasionnel
Bonjour les amis,

Svp j'ai un bon code sauf qu'il beug par fois et me sort la fameuse Erreur 1004

Ci-aprés mon code , svp me corriger la ligne d'errer .

Code:
Option Explicit
Dim mot1 As String, mot2 As String, mot3 As String
Dim c As Integer, d As Integer
Dim e As Double
Dim cell As Range, cel As Range, Rg1 As Range, Rg2 As Range



Sub calculer()
e = Range("B23")
mot1 = Range("B16").Text
Set Rg1 = Sheets("BUDGET_BC").Range("c1:" & Range("C1").End(xlToRight).Address)


For Each cell In Rg1
        
    If cell.Value = mot1 Then
    c = cell.Column
    GoTo suite
    End If
Next cell


suite:

mot2 = Range("B17").Text
mot3 = Range("B18").Text
Set Rg2 = Sheets("BUDGET_BC").Range("A2:" & Range("A2").End(xlDown).Address)

For Each cel In Rg2
    
    If cel.Value = mot2 And cel.Offset(0, 1).Value = mot3 Then
    d = cel.Row
    GoTo suite2
    End If
        
Next cel

suite2:
Sheets("BUDGET_BC").Cells(d, c) = Sheets("BUDGET_BC").Cells(d, c) - e

Call hist

Sheets("BC").Range("B23").ClearContents
 
End Sub


Cordialement.
 
Re : Erreur d'éxecution 1004 - HELP

Bonjour

La ligne suivante me parait bizare :
Sheets("BUDGET_BC").Cells(d, c) = Sheets("BUDGET_BC").Cells(d, c) - e

Cells ne renvoi pas un objet type cellule?
e est aussi un objet celulle!

ne faudrait pas ajouter .value????
 
Re : Erreur d'éxecution 1004 - HELP

D’après la méthode de gilbert_RGI F8 me donne erreur sur cette ligne , Tbft a raison :

suite2:
Sheets("BUDGET_BC").Cells(d, c) = Sheets("BUDGET_BC").Cells(d, c) - e


Comment je peux la corriger ?
merci
 
Re : Erreur d'éxecution 1004 - HELP

regarde ce que te donne la variable e dans la fenetre espion

je n'avais pas vue que tu avais déclaré e comme un double.

c'est peut être quand tu écris:
e = Range("B23") qui faut ajouté .value si tu ne récupere pas la valeur.
Mais je crois que .value est la propriété par défaut...

si e contient directement la bonne valeur essaye avec
Sheets("BUDGET_BC").Cells(d, c).value = Sheets("BUDGET_BC").Cells(d, c).value - e
 
Dernière édition:
Re : Erreur d'éxecution 1004 - HELP

Bonjour.
Pourquoi ne mettriez vous pas tout simplement ça devant l'étiquette Suite:
VB:
MsgBox """" & mot1 & """  Inexistant", vbCritical, "Calcul"
Exit Sub
… et ça devant l'étiquette Suite2:
VB:
MsgBox """" & mot2 & """ et """  & mot3 & """ Inexistant", vbCritical, "Calcul"
Exit Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
756
Réponses
5
Affichages
914
Retour