Bonjour,
j'ai fait une macro pour pouvoir calculer des sommes en fonction de variables mais je ne comprends pas il me marque un débogage (j'ai réutilisé une macro qui faisait des sommes en évitant de prendre en compte les doublons de classe) .
Je veux juste faire une somme si ma date et ma ref de ma feuil Data Global est égale à ma date et ma ref de ma feuil data prototype alors je fais une somme des valeurs de mes classes situé dans la colonne 6 de ma feuil data prototype et j'affiche le résultat dans ma colonne 10 de ma feuil data global
Voici mon code et la ligne en rouge est la ligne ou il y a un débogage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Sub test() Dim i As Long Dim j As Long Dim wksCriteres As Worksheet Dim rngDataDate As Range Dim wksCopie As Worksheet Dim c As Range Set wksCriteres = Worksheets("Critères") Set wksCopie = Worksheets("Copie") ' Trouver le titre de la colonne dans la page de données globales Set rngDataDate = Worksheets("Data Global").UsedRange.Columns(1).Find(What:="Date") If Not rngDataDate Is Nothing Then ' trouvé! ' on commence l'itération à la ligne suivante... i = 1 While Not IsEmpty(rngDataDate.Offset(i, 0).Value) ' filtrer la table de prestation en fonction de la date et ref wksCriteres.Range("A2").Value = rngDataDate.Offset(i, 0).Value ' 0 colonne 'Date' wksCriteres.Range("B2").Value = rngDataDate.Offset(i, 1).Value ' 1 colonne à droite 'Ref' Worksheets("Data prototype").UsedRange.AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=wksCriteres.Range("A1:B2"), _ CopyToRange:=wksCopie.Range("A1"), _ Unique:=True For j = 2 To wksCopie.UsedRange.Rows.Count rngDataDate.Offset(i, 7).Value = rngDataDate.Offset(i, 7).Value + wksCopie.UsedRange.Cells(j, 6).Value Next j wksCopie.Cells.Delete i = i + 1 Wend End If End Sub
Merci du coup de main
Partager