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
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
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
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