Bonjour à tous,
Je viens trouver une solution à mon problème
Voilà la problématique: le titre "PT email" correspond à une campagne.
Tout ce qui commence par une date est un titre demail
Pour chaque campagne, je dois calculer les moyennes de col1, col2 et col3 pour les couples, les familles et les amis. 3 groupes a chaque fois. A un nouveau titre de campagne qui commence par "PT" je recommence le calcul.
Le but est d'avoir la moyenne de la col1, col2 et col3 pour les couples, les Friends et Adults pour l'email 1.
Et de faire pareil pour l'email 2. D'où mon do loop while
Voici un exemple de donnees :
PT email 1 col1 col2 col3 2015-03-04_Couples 21,5% 0,6% 2,7% 2015-03-04_Families 22,5% 1,1% 4,7% 2015-03-04_Friends 23,4% 0,5% 2,0% 2015-03-18_families 13,4% 1,2% 9,1% 2015-03-18_Adults 12,5% 1,6% 12,8% 2015-03-20_adults 17,7% 2,3% 12,9% 2015-03-20_families 16,2% 2,4% 14,9% PT email 2 2015-03-04_Couples 21,5% 0,6% 2,7% 2015-03-04_Families 22,5% 1,1% 4,7% 2015-03-04_Friends 23,4% 0,5% 2,0% 2015-03-18_families 13,4% 1,2% 9,1% 2015-03-18_Adults 12,5% 1,6% 12,8% 2015-03-20_adults 17,7% 2,3% 12,9% 2015-03-20_families 16,2% 2,4% 14,9%
Voilà ma macro:
Merci si vous avez une idee
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 Dim i As Integer Dim j As Integer Dim lastcell As Integer Dim lastcell2 As Integer lastcell = Sheets(1).Cells(65000, 1).End(xlUp).Row lastcell2 = Sheets(1).Cells(65000, 1).End(xlUp).Row For i = 1 To lastcell extraction = Left(Cells(i, 1), 2) 'MsgBox extraction Cells(i, 1).Select For Each cell In Selection Cells(i, 1).Value = LCase(Cells(i, 1).Value) Next cell Next i Do For j = 1 To lastcell2 If Cells(j, 1).Value Like "*couples" Or Cells(j, 1).Value Like "*families" Then tot = tot + Cells(j, 2) Count = Count + 1 End If Next j Loop While extraction = "pt"
Partager