Camaalot
XLDnaute Nouveau
Bonjour,
J'ai écrit ce petit VBA qui permet de transférer des valeurs d'un compte à l'autre.
Le problème que je ne comprends pas c'est :
Pourquoi est-ce ce que j'arrive à transférer des valeurs de compte chèque à Épargne, vice versa mais je peux que transférer des valeurs du compte chèque à Céli et compte chèque à Marge et pas le contraire, soit Céli à Chèque et Marge à Chèque ?
Aussi, deuxième question :
Pourquoi les premières valeurs inscrites dans Marge de crédit apparaissent dans AO9 au lieu de AO7 ?
Merci pour vos réponse. Ce projet est important pour moi.
Camaalot
J'ai écrit ce petit VBA qui permet de transférer des valeurs d'un compte à l'autre.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chqLR As Long, savLR As Long, celLR As Long, marLR As Long
If Target.Row < 6 Or Target.Row > 102 Then Exit Sub
If Target.Column <> 7 And Target.Column <> 9 And Target.Column <> 19 And Target.Column <> 21 Then Exit Sub
Application.EnableEvents = False
chqLR = Range("C" & 102).End(xlUp).Row
savLR = Range("Q" & 102).End(xlUp).Row
celLR = Range("AC" & 102).End(xlUp).Row
marLR = Range("AO" & 102).End(xlUp).Row
If Target.Column = 7 Or Target.Column = 9 Then
If UCase(Range("G" & Target.Row)) = UCase("Virement Chèque-Épargne") _
And Range("I" & Target.Row) <> "" Then
Range("Q" & savLR + 1) = Range("C" & Target.Row)
Range("S" & savLR + 1) = Range("G" & Target.Row)
Range("W" & savLR + 1) = Range("i" & Target.Row)
End If
End If
If Target.Column = 19 Or Target.Column = 21 Then
If UCase(Range("S" & Target.Row)) = UCase("Virement Épargne-Chèque") _
And Range("U" & Target.Row) <> "" Then
Range("C" & chqLR + 1) = Range("Q" & Target.Row)
Range("G" & chqLR + 1) = Range("S" & Target.Row)
Range("K" & chqLR + 1) = Range("U" & Target.Row)
End If
End If
If Target.Column = 7 Or Target.Column = 9 Then
If UCase(Range("G" & Target.Row)) = UCase("Virement Chèque-Céli") _
And Range("I" & Target.Row) <> "" Then
Range("AC" & celLR + 1) = Range("C" & Target.Row)
Range("AE" & celLR + 1) = Range("G" & Target.Row)
Range("AI" & celLR + 1) = Range("I" & Target.Row)
End If
End If
If Target.Column = 31 Or Target.Column = 33 Then
If UCase(Range("AE" & Target.Row)) = UCase("Virement Céli-Chèque") _
And Range("AG" & Target.Row) <> "" Then
Range("C" & chqLR + 1) = Range("AC" & Target.Row)
Range("G" & chqLR + 1) = Range("AE" & Target.Row)
Range("K" & chqLR + 1) = Range("AG" & Target.Row)
End If
End If
If Target.Column = 7 Or Target.Column = 9 Then
If UCase(Range("G" & Target.Row)) = UCase("Virement Chèque-Marge") _
And Range("I" & Target.Row) <> "" Then
Range("AO" & celLR + 1) = Range("C" & Target.Row)
Range("AQ" & celLR + 1) = Range("G" & Target.Row)
Range("AU" & celLR + 1) = Range("i" & Target.Row)
End If
End If
If Target.Column = 43 Or Target.Column = 45 Then
If UCase(Range("AQ" & Target.Row)) = UCase("Virement Marge-Chèque") _
And Range("AS" & Target.Row) <> "" Then
Range("C" & marLR + 1) = Range("AO" & Target.Row)
Range("G" & marLR + 1) = Range("AQ" & Target.Row)
Range("K" & marLR + 1) = Range("AS" & Target.Row)
End If
End If
Application.EnableEvents = True
End Sub
Le problème que je ne comprends pas c'est :
Pourquoi est-ce ce que j'arrive à transférer des valeurs de compte chèque à Épargne, vice versa mais je peux que transférer des valeurs du compte chèque à Céli et compte chèque à Marge et pas le contraire, soit Céli à Chèque et Marge à Chèque ?
Aussi, deuxième question :
Pourquoi les premières valeurs inscrites dans Marge de crédit apparaissent dans AO9 au lieu de AO7 ?
Merci pour vos réponse. Ce projet est important pour moi.
Camaalot