Hello j'utilise les evenement selection change et change sur une
feuille pour interdire d'aller sur certaine cellules dans certaine
conditions
mais je voulais savoir si lors de l'evenement selection change on peut
le renvoyer sur la derniere cellule selectionn=E9 avant qu'il choissise
celle ci(si par exemple elle contient une valeur et qu'on ne veut pas
qu'il puisse en entrer une autre)
l'argument Target contient la cellule actuellement selectionn=E9 mais
n'y a t'il pas la valeur de l'ancienne cellule quelque part (du genre
oldTarget ou taget-1)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
musecyan
bon je m'auto-repond
j'ai mis une variable dans ma selection change que je sauve a chaque fin de traitement de la fonction
et que j'utiliise pour renvoyer la selectrion a la cellule precedente si la cellule actuelle possede une valeur
Dim oldTargetLigne As Long Dim oldTargetColonne As Long '------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.EnableEventúLSE ---traitement-----------deja valeur dans case? si oui bSauvepasTarget=TRUE
if bSauvepasTarget then Cells(oldTargetLigne,oldTargetColonne).Select Else bSauvepasTargetúLSE oldTargetLigne=Target.Row oldTargetColonne=Target.Column Endif
Application.EnableEvent=TRUE
End Sub
bon je m'auto-repond
j'ai mis une variable dans ma selection change que je sauve a chaque
fin de traitement de la fonction
et que j'utiliise pour renvoyer la selectrion a la cellule precedente
si la cellule actuelle possede une valeur
Dim oldTargetLigne As Long
Dim oldTargetColonne As Long
'-------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEventúLSE
---traitement-----------deja valeur dans case?
si oui bSauvepasTarget=TRUE
if bSauvepasTarget then
Cells(oldTargetLigne,oldTargetColonne).Select
Else
bSauvepasTargetúLSE
oldTargetLigne=Target.Row
oldTargetColonne=Target.Column
Endif
j'ai mis une variable dans ma selection change que je sauve a chaque fin de traitement de la fonction
et que j'utiliise pour renvoyer la selectrion a la cellule precedente si la cellule actuelle possede une valeur
Dim oldTargetLigne As Long Dim oldTargetColonne As Long '------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.EnableEventúLSE ---traitement-----------deja valeur dans case? si oui bSauvepasTarget=TRUE
if bSauvepasTarget then Cells(oldTargetLigne,oldTargetColonne).Select Else bSauvepasTargetúLSE oldTargetLigne=Target.Row oldTargetColonne=Target.Column Endif