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

tu devrais peut être prendre en compte lorsque c ou d =0

VB:
Sub calculer()
'Stop

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

If c = 0 Then Exit Sub

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

If d = 0 Then Exit Sub

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

Call hist

Sheets("BC").Range("B23").ClearContents
 
End Sub
[/highlight ]
 
Re : Erreur d'éxecution 1004 - HELP

Tbfp ton cordage a résolu mon problème 😀

Dranreb merci pour cette réclamation je ne sais pas pourquoi cette erreur 😕

Ou est l'errerr je sais pas , ça ma pris une semaine ce fichier Merde 😡
 
Re : Erreur d'éxecution 1004 - HELP

tu peux faire le test de plusieurs façons:
par exemple, il me semble que les "if c=0 then" ne soit pas obligatoire vue que ta macro passe directement à l'étiquette suite
tu pourrais faire un test juste avant la ligne avec

if (c=0) or (d=0) then
'petit message sur la boulette par msgbox
exit sub
end if
 
Re : Erreur d'éxecution 1004 - HELP

Vous n'explorez pas toute les lignes de BUDGET_BC mais seulement les 10 1ères avec:
Set Rg2 = Sheets("BUDGET_BC").Range("A2:" & Range("A2").End(xlDown).Address), qui revient à :
Set Rg2 = Sheets("BUDGET_BC").Range("A2:" & ActiveSheet.Range("A2").End(xlDown).Address), qui revient à :
Set Rg2 = Sheets("BUDGET_BC").Range("A2:" & Sheets("BC").Range("A2").End(xlDown).Address). Il faut:
Set Rg2 = Sheets("BUDGET_BC").Range("A2:" & Sheets("BUDGET_BC").Range("A2").End(xlDown).Address), ou :
Set Rg2 = Feuil2.Range("A2:" & Feuil2.Range("A2").End(xlDown).Address
 
Re : Erreur d'éxecution 1004 - HELP

Quand même pas difficile de rajouter Sheets("BUDGET_BC"). devant Range("A2").End(xlDown).Address ?!

Pareil pour le Set Rg1 plus haut d’ailleurs: il prend la Range("C1").End(xlToRight).Address de la feuille active, pas celle de BUDGET_BC puisque ce n'est pas précisé.
 
Dernière édition:
- 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