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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| Sub changement_formule_honoraires_client_sans_remise()
ActiveSheet.Unprotect
Dim lig, col, col_ex, col_tampon_num_ex, col_honoraires, col_tampon_hono_n_1, col_tampon_hono_n_2, col_nouveau, col_hono_base
'initialisation des variables
col = "AJ" 'colonne contenant la cellule à modifier (cellule de départ)
col_ex = "AF" 'colonne contenant le n° de l'exercice
col_tampon_num_ex = "AG" 'colonne tampon qui recopie le n° de l'exercice
col_tampon_hono_n_1 = "AH" 'colonne contenant la recopie des honoraires de N-1
col_tampon_hono_n_2 = "AI" 'colonne contenant la recopie des honoraires de N-2
col_honoraires = "AN" 'colonne des honoraires de N+1
col_nouveau = "Z" 'colonne qui définit si le client est un nouveau client ou non
col_hono_base = "AA" 'colonne qui contient les honoraires de base
If ActiveCell.Row <= 8 Then
lig = ActiveCell.Row
ElseIf ActiveCell.Row > 8 Then
lig = ActiveCell.Row + 1
Else: lig = ActiveCell.Row + 1
End If
Application.ScreenUpdating = False
Columns(col_tampon_num_ex & ":" & col_tampon_hono_n_2).EntireColumn.Hidden = False
Cells(lig, col).Select 'on se place sur la cellule à modifier
If Cells(lig, col_ex) = 0 And Cells(lig, col_nouveau) = "Non" Then
Cells(lig, col_ex).Copy 'copie du n° d'exercice
Cells(lig, col_tampon_num_ex).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Cells(lig, col).Select
Cells(lig, col_honoraires).Copy 'copie du montant des honoraires de N+1
Cells(lig, col_tampon_hono_n_1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Cells(lig, col_tampon_hono_n_2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Cells(lig, col).Select
ElseIf Cells(lig, col_ex) > 0 And Cells(lig, col_ex) <> Cells(lig, col_tampon_num_ex) And Cells(lig, col_nouveau) = "Non" _
And Cells(lig, col_tampon_hono_n_1) <> "" Then
Cells(lig, col_tampon_hono_n_1).Copy 'copie du montant des honoraires tampon N-1 dans tampon N-2
Cells(lig, col_tampon_hono_n_2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Cells(lig, col).Select
Cells(lig, col_ex).Copy 'copie du n° d'exercice
Cells(lig, col_tampon_num_ex).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Cells(lig, col).Select
Cells(lig, col_honoraires).Copy 'copie du montant des honoraires de N+1 dans tampon N-1
Cells(lig, col_tampon_hono_n_1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'première année, quel que soit le numéro de l'exercice
ElseIf Cells(lig, col_ex) > 0 And Cells(lig, col_ex) <> Cells(lig, col_tampon_num_ex) And Cells(lig, col_nouveau) = "Non" _
And Cells(lig, col_tampon_hono_n_1) = "" Then
Cells(lig, col_hono_base).Copy 'copie du montant des honoraires de base dans colonne tampon n-1
Cells(lig, col_tampon_hono_n_1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Cells(lig, col_tampon_hono_n_2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Cells(lig, col).Select
Cells(lig, col_ex).Copy 'copie du n° d'exercice
Cells(lig, col_tampon_num_ex).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
Columns(col_tampon_num_ex & ":" & col_tampon_hono_n_2).EntireColumn.Hidden = True
Application.CutCopyMode = False
Cells(lig, col).Select
Application.ScreenUpdating = True
'ActiveSheet.Protect
End Sub |
Partager