Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les amis est ce quelqu'un peux m'envoyer mon fichier test corriger avec vos remarque c'est le budget de la societé et je risque d'avoir des problème avec.
Merci infiniment pour votre aide
 
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…