Erreur 1004 de mon code sur vba excel

aprentizorrrr Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
thev Messages postés 1985 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai une feuille "heures imputees" dans laquelle j'ai un tableau croisé dynamique avec 6 colonnes,

mois technicien client affaire chapitre heures

je voudrais 2 totales des heures par affaire

un total pour CHESI Christophe et VINCENT Jean-claude => BE ( partie électrique)
un total pour le reste des techniciens => SOFT ( programmation d'automate)

je dois pouvoir récupérer le totale des heures pour c'est 2 groupe en fonction des chapitres ( A02 L05 ..)

exemple final

affaire Chapitre BE SOFT

XX.XX.XXXX A02 54 123

voici mon code dans un moduel 1

Option Explicit

Dim N°AFFAIRE As String

Dim CHAPITRE As String

Dim HEURES As Integer



Sub Remplir_Bilan()

' Définition des variables générales
Dim A As Integer

HEURES = 0
CHAPITRE = Range("B")
'Rechercher les heures Imputées sur N°AFFAIRE & CHAPITRE
For A = 2 To 2600

Worksheets("Heures Imputees").Activate
If (Worksheets("Heures Imputees").Range("d" & A).Value = N°AFFAIRE) And CHAPITRE = "A02" Then
HEURES = Worksheets("Heures Imputees").Cells(A, 7).Value + HEURES
End If
Next A



End Sub

j'ai une erreur 1004, et je suis meme pas sur que mon code soit correcte quelq'un peut maider svp, c'est urgent et important, j'ai beau chercher sur le net des solutions je n'y arrive pas, je debute en vba excel
A voir également:

3 réponses

pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   646
 
Bonjour,

A première vue il y a déjà cette syntaxe qui n'est pas correcte :

CHAPITRE = Range("B")

C'est par exemple CHAPITRE = Range("B1") qui est correct

et même pour être plus rigoureux : CHAPITRE = Range("B1").value

A+
Cordialement,
0
aprentizorrrr Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
je cherche a mettre en condition ma colonne E (chapitre) = A02
peut etre doit je mettre avant le for
CHAPITRE = Worksheets("Heures Imputees").Range("E" ).Value
qu'en pense tu
j'ai mis cette nouvelle ligne a la place de Range("E") (c'etait E enfait et non B) et j'ai toujours le probleme
0
thev Messages postés 1985 Date d'inscription   Statut Membre Dernière intervention   713
 
Sub Remplir_Bilan()

' Définition des variables générales
Dim A As Integer
Dim numéros_affaire As Range
Dim chapitre As Range

HEURES = 0

Set numéros_affaire = Intersect(Sheets("Heures Imputees").Columns("D").Rows, Sheets("Heures Imputees").UsedRange) 'restriction à la plage utilisée

Set chapitre = Sheets("Heures Imputees").Columns("E").Rows


'Rechercher les heures Imputées sur N°AFFAIRE & CHAPITRE
For Each no_affaire In numéros_affaire
A = no_affaire.Row
If no_affaire.Value = N°AFFAIRE And chapitre.Rows(A).Value = "A02" Then
HEURES = Worksheets("Heures Imputees").Cells(A, 7).Value + HEURES

End If

Next
0
aprentizorrrr Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
merci de ton aide, il me dit no_affaire variable non definie, j'ai donc declare no_affaire as range, et maintentant il me dit : erreur d'execution 9 l'indice n'appartient pas a la selection

si tu as encore le temps de m'aider sa serait sympas merci
0
thev Messages postés 1985 Date d'inscription   Statut Membre Dernière intervention   713
 
C'est l'option Explicit qui provoque la demande de définition de la variable.
Pour l'erreur d'exécution, à quelle ligne se situe l'erreur ?
0