Erreur 1004 dans macro VBA

Signaler
Messages postés
3
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
15 juillet 2008
-
Messages postés
3
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
15 juillet 2008
-
Bonjour à tous,

J'ai un classeur excel avec 2 feuilles nommées S25 et Stats_Mono_S25, j'ai les 2 macros suivantes :
Sub CountR03B16NCM00Z001()
Sheets("S25").Select
Range("A1").CurrentRegion.Select
Dernier = Selection.Rows.Count
Compteur = 0
For i = 2 To Dernier
If Cells(i, 1) Like "R03B16_NCM00Z001*" Then
Cells(i, 1).Interior.ColorIndex = 40
Compteur = Compteur + 1
End If
Next i
Sheets("Stats_Mono_S25").Select
Range("B3").Select
ActiveCell = Compteur
ActiveCell.Interior.ColorIndex = 40
End Sub


Sub CountTimeR03B16NCM00Z001()
Sheets("S25").Select
Range("D1").CurrentRegion.Select
Dernier = Selection.Rows.Count
result = 0
For i = 2 To Dernier
If Cells(i, 1) Like "R03B16_NCM00Z001*" Then
result = result + Cells(i, 4)
End If
Next i
Sheets("Stats_Mono_S25").Select
Range("C3").Select
ActiveCell = result
End Sub

Lorsque je place les macros dans ThisWorkbook, ça marche sans problème mais si je les places dans Stats_Mono_S25, j'ai l'erreur 1004, erreur définie par l'objet ou l'application.

Merci pour votre aide.

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
L'erreur apparait au moment ou tu places les macros dans ces feuilles ou lors de leur exécution ?
Dans le premier cas, c'est peut-être qu'il n'est pas possible d'attribuer une macro à une feuille (à vérifier)
Dans le second cas, sur quelle ligne apparait l'erreur ?
Essaye d'utiliser la touche F8 pour faire avancer ton programme de ligne en ligne jusqu'à ce que l'erreur apparaisse.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
3
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
15 juillet 2008

L'erreur apparait seulement lorsque je les place dans les feuilles, elles s'éxecutent correctement quand je les place dans ThisWorkbook.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Bah ... c'est qu'on doit pas pouvoir mettre de macro dans une feuille, mais uniquement dans le WorkBook (= Classeur) qui les accueille.
Pourquoi ne les laisses-tu pas là où elles sont ?
Que veux-tu faire ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

voila l'exemple que j'attendais pour montrer combien il est inutile et risque de faire des selections a tout vas qui ne servent a rien d'autre que d' augmenter le risque plantage !

Sub CountR03B16NCM00Z001()
   Dernier =Sheets("S25").Range("A1").CurrentRegion.Rows.Count
   Compteur = 0
   For i = 2 To Dernier
      If Cells(i, 1) Like "R03B16_NCM00Z001*" Then
         Cells(i, 1).Interior.ColorIndex = 40
         Compteur = Compteur + 1
      End If
   Next i
   With Sheets("Stats_Mono_S25").Range("B3")
      .Value = Compteur
      .ColorIndex = 40
   End With
End Sub
Sub CountTimeR03B16NCM00Z001()
   Dernier = Sheets("S25").Range("D1").CurrentRegion.Rows.Count
   result = 0
   For i = 2 To Dernier
      If Cells(i, 1) Like "R03B16_NCM00Z001*" Then
         result = result + Cells(i, 4)
      End If
   Next i
   Sheets("Stats_Mono_S25").Range("C3").Value = result
End Sub

A+
Messages postés
3
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
15 juillet 2008

Hello,
Avec l'optimisation de big_fish, les macros fonctionnent, merci bien, par contre la 2ème macro ne me renvoie pas le bon résultat, il est à 0.