Action après validation d'une cellule

  • Initiateur de la discussion Initiateur de la discussion Guigui
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Guigui

XLDnaute Occasionnel
Bonsoir le forum,

Voici mon besoin.

Je souhaite qu'une action se declenche aprés la saisie d'une cellule.
J'ai bien évidement pensé au Worksheet_change mais je tourne en rond ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E6:E36")) Is Nothing Then
If ActiveCell.Offset(0, -3) = "" Then
MsgBox ("OK")
Else
Exit Sub
End If
End If
End Sub

le probleme est que la verification dans la cellule offset se décale étant donné que pour valider ma saisie dans l'activecell je fais la touche "Entrée" ou bien "fleche droite" (ou peu importe)

Y a t-il un moyen pour declenché le code avant le déplacement du curseur
(en evitant de décocher l'option "Déplacer la selection aprés validation" 🙂

Merci d'avance pour votre aide
Guillaume
 

Pièces jointes

Re : Action après validation d'une cellule

Bonsoir,
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E6:E36")) Is Nothing Then
    If [COLOR="Blue"][B]Target[/B][/COLOR].Offset(0, -3) = "" Then MsgBox ("OK")
End If

End Sub
A+
kjin
 
Dernière édition:
Re : Action après validation d'une cellule

Bonsoir Guigui
Code:
[COLOR="DarkSlateGray"][B]Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Application.Intersect(Target, Range("E6:E36")) Is Nothing Then
      If [COLOR="Sienna"]Target[/COLOR].Offset(0, -3) = "" Then
         MsgBox ("OK")
      End If
   End If
End Sub[/B][/COLOR]
ROGER2327
#3366


10 Floréal An CCXVIII
2010-W17-4T23:58:01Z

____________________________
Bonsoir kjin, je n'avais pas vu...
 
Re : Action après validation d'une cellule

Re,

Merci à vous deux !
C'est parfait 🙂

Du coup une solution amène un autre probleme 😉
Si je souhaite supprimer le contenu des cellules dans la colonne E, pas de souci j'ai glisser un :
"If Target = "" Then Exit Sub" dans le code

mais quand je sélectionne une zone (exemple colonne D:E), le bug apparait. logique, je me dis que le "target" est alors perdu. mais il y a t il alors un moyen de solutionner ceci ?

Merci encore
Bonne journée

Guillaume
 

Pièces jointes

Dernière édition:
Re : Action après validation d'une cellule

Re...
Essayez ceci :
Code:
[COLOR="DarkSlateGray"][B]Private Sub Worksheet_Change(ByVal Target As Range)
Dim oCel As Range
   If Not Application.Intersect(Target, Range("E6:E36")) Is Nothing Then
      For Each oCel In Application.Intersect(Target, Range("E6:E36"))
         If oCel.Value <> "" Then
            If oCel.Offset(0, -3).Value = "" Then 'REPOS DETECTE
               oCel.Offset(0, 11) = "ECHANGE DE REPOS"
            Else
               oCel.Offset(0, 11) = "RENFORT"
            End If
         End If
      Next oCel
   End If
End Sub[/B][/COLOR]
ROGER2327
#3371


11 Floréal An CCXVIII
2010-W17-5T11:30:52Z
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
516
Réponses
14
Affichages
696
Réponses
7
Affichages
825
Retour