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
| Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Chase a number with special conditions in other sheet
Dim Accrng As Range
If Not Intersect(Target, Columns(3)) Is Nothing Then
'si la cellule modifiée appartient à la colonne 3 (C), alors
Set Accrng = Target
'fixer la variable Accrng
Accrng.Offset(0, 2).FormulaR1C1 = "=VLOOKUP(RC[-2],Specialfees!C[-4]:C[4],4,FALSE)'??????? check why when we selected all ligne is bug"
'La formule de la colonne E devient : C6 modifiée =>
'E6 : "=RECHERCHEV(C6;Specialfees!A:K;4;0)" => Valeur de D de la ligne contenant C6 en A
If IsError(Accrng.Offset(0, 2)) Then 'Si on ne trouve pas de valeur, alors
Accrng.Offset(0, 2).ClearContents 'On efface E6
Accrng.Offset(0, 1).Select 'On selectionne E6, prochaine cellule à encoder pour l'utilisateur
Else 'Sinon
Accrng.Offset(0, 2).Copy 'on copie la valeur donnée par le vlookup
Accrng.Offset(0, 2).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'on colle uniquement la valeur afin qu'il n'y ai plus de trace du vlookup nous permettant ainsi de retrouver la valeur dans le fichier par une fonction recherche Ctrl*f
ActiveSheet.Paste
Application.CutCopyMode = False
Accrng.Offset(0, 1).Select
'On selectionne D6, prochaine cellule à encoder pour l'utilisateur
End If
End If
End Sub |
Partager