voila AL__22 ca c'est le fichier sur lequel je travail avec ton code http://www.cjoint.com/c/FEsnYUUXS1v
Version imprimable
voila AL__22 ca c'est le fichier sur lequel je travail avec ton code http://www.cjoint.com/c/FEsnYUUXS1v
Normalement tu devrais plus avoir de problème, juste vérifie que ce sont bien les bonnes colonnes/feuilles pour toi aussi :
Code:
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
33
34
35
36
37
38
39
40 Sub essai() Dim verif As Range, m As Range, dico As New Dictionary x = Sheets(3).Range("A4:A" & Sheets(3).Range("A:A").End(xlDown).Row).Count y = Sheets(3).Range("G4:G" & Sheets(3).Range("G:G").End(xlDown).Row).Count For j = 3 To y + 3 If Not dico.Exists(Sheets(3).Cells(j, 10).Value) Then dico.Add Sheets(3).Cells(j, 10).Value, Sheets(3).Cells(j, 10).Value PNRt = PNRt + Sheets(3).Cells(j, 10).Value End If Next j For j = 3 To y + 3 a = Sheets(3).Range("N1:N" & Sheets(3).Range("N:N").End(xlDown).Row).Count + 1 Set m = Sheets(3).Range(Sheets(3).Cells(3, 3), Sheets(3).Cells(x + 3, 3)).Find(Sheets(3).Cells(j, 9).Value) If m Is Nothing Then PNR = 1 - (PNRt - Sheets(3).Cells(j, 10).Value) / PNRt PNR = Format(PNR, "0.00%") Set verif = Sheets(3).Range("N:N").Find(Sheets(3).Cells(j, 9).Value) If verif Is Nothing Then Sheets(3).Cells(a, 14).Value = Sheets(3).Cells(j, 9).Value texte = Sheets(3).Cells(j, 7).Value & Sheets(3).Cells(j, 8).Value & ", pourcentage PNR : " & PNR Sheets(3).Cells(a, 15).Value = texte Else texte = Sheets(3).Cells(verif.Row, 15).Value texte = texte & "; " & Sheets(3).Cells(j, 7).Value & Sheets(3).Cells(j, 8).Value & ", pourcentage PNR : " & PNR Sheets(3).Cells(verif.Row, 15).Value = texte End If End If Next j End Sub
Bonjour AL__22
merci beaucoup pour ton aide .
Oui j'ai changé dans le code pour les bons colonnes je vois que le code marche comme il faut mais ce qu'il fait c'est quand il trouve une nouvelle valeur il remplace l ancienne tu vois il la sauvgarde pas dans la deuxieme ligne mais il remplace le premier resultat j'ai parcouru le code ligne par ligne et le probleme c'est dans cette partie du code :
je pense qu'il sort pas de la boucle , si tu peux m'aider stpCode:
1
2
3
4
5
6
7 Set verif = Sheets(1).Range("N:N").Find(Sheets(1).Cells(j, 9).Value) If verif Is Nothing Then Sheets(1).Cells(a, 14).Value = Sheets(1).Cells(j, 9).Value texte = Sheets(1).Cells(j, 7).Value & Sheets(1).Cells(j, 8).Value & ", pourcentage PNR : " & PNR Sheets(1).Cells(a, 15).Value = texte
Non normalement il récupère l'ancienne valeur d'où le :
Donc je comprends pas d'ailleurs j'ai essayé avec ton fichier et ça marche...Code:heets(1).Cells(j, 7).Value &
oui enfaite le resultat il est parfait , mais quand il trouve un autre resultat au lieur de le sauvgarder dans une nouvelle ligne il remplace l ancien resultat par le nouveau
Tu veux donc sauvegarder l'ancien résultat à chaque nouvelle valeur de PNR?
Tu veux la stocker dans quelle cellule?
Essaye avec ça (remplace la bonne ligne) :
Code:a = Sheets(3).Range("O1:O" & Sheets(3).Range("O:O").End(xlDown).Row).Count + 1
voila le code marche comme il faut mais au lieux de me mettre le resultat comme ca Pièce jointe 210150
a chaque fois qu'il trouve un resultat nouveau il il le met a la place de l ancien du coup j'aurai que le resultat UPS
j'ai essayé ca AL__22 ca marche pas enfaite je pense pas que le problem vienst de ca mais de le faite que le code ecrase le resultats et met un nouveau a sa place !!
Voilà ton fichier avec la macro qui fonctionne
Pièce jointe 210158
Merci beaucoup AL__22 , t'es un champion :D:D
Haha merci mais je te jure que j'ai fais les même modifs que ce que je t'ai donné au fur et à mesure :mouarf:
voila c'est ca j'ai chercher ce que tu as changé dans le code , y avait que les truc que tu m'as dis de changer et c'est ce que j'ai fait , apparament le code m'aime pas hahaha , merci encore une fois
je voulais just te demander est ce que c'est possible pour les pourcentage qu'on affiche au lieu d'afficher le pourcentage pour chaque communauté on affiche le tetal de ces pourcentage a la fin de la ligne ??
Avec soit une collection soit un petit dico je te laisse te pencher un peu dessus avant de te montrer ;)
Pour moi à mon avis le plus simple c'est la collection
d'accord merci pour le conseille , je vais essayer
Bonjour AL__22 ,
j'espere que tu vas bien , enfaite j'arrive pas a faire cette collection parce que j'arrive pas a comprendre comment ca fonctionne , je suis un peu null hhh , est ce que tu peux m'aider stp , si tu as un peu du temps , sinon si tu peux pas est ce que tu me donne la permission de partager ton code dans le forum et voir si quelqu'un peut m'aider , je te remerci beaucoup .