bonjour,

Je ne suis pas un champion en VBA mais je me suis lancé. J ai une base de donnée qui contient les elements suivants

colonne B : heure de nego (hh:mm:ss)
colonne C : volume negocié
colonne D : prix negocié
colonne E : courtier qui a acheté
colonne F : courtier qui a vendu

Je souhaite copier dans un fichier de resultats, toutes les negociations realisé par 2 courtiers (qu ils aient acheté ou vendu). Quand c est le courtier acheteur (colonne E) cela fonctionne parfaitement mais qd il trie sur le courtier vendeur l extraction decale tout d une colonne. Je pense que cela provient du fait que je decale a partir de offset (i,0) et quand c est le courtier vendeur il faudrait increment de i-1 mais je n arrive pas a inserer cette condition dans mon code. Si quelqu un arrive a resoudre mon probleme je le remercie GRANDEMENT.
A bientot et merci


Voici mon code

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
Sub test()
Worksheets("Result" ).Select
Range("A1:H1" ).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Worksheets("RDCD3" ).Activate
x = InputBox("quel courtier" )
y = InputBox("second courtier" )
 
For Each C In Range(Range("E1" ), Range("F1" ).End(xlDown))
If UCase(C.Value) = x Or UCase(C.Value) = y Then
Do
If Sheets("Result" ).Range("A1" ).Offset(i, 0).Value <> "" Then i = i + 1
Loop Until Sheets("Result" ).Range("A1" ).Offset(i, 0).Value = ""
Sheets("Result" ).Range("A1" ).Offset(i, 0).Value = C.Offset(0, -4).Value
Sheets("Result" ).Range("B1" ).Offset(i, 0).Value = C.Offset(0, -3).Value
Sheets("Result" ).Range("C1" ).Offset(i, 0).Value = C.Offset(0, -2).Value
Sheets("Result" ).Range("D1" ).Offset(i, 0).Value = C.Offset(0, -1).Value
Sheets("Result" ).Range("E1" ).Offset(i, 0).Value = C.Value
Sheets("Result" ).Range("F1" ).Offset(i, 0).Value = C.Offset(0, 1).Value
Sheets("Result" ).Range("G1" ).Offset(i, 0).Value = C.Offset(0, 2).Value
Sheets("Result" ).Range("H1" ).Offset(i, 0).Value = C.Offset(0, 3).Value
End If
Next
Sheets("Result" ).Activate
End Sub