Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Controler une date sans se décaler

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 !

Risleure

XLDnaute Occasionnel
Bonjour le Forum

Dans une macro, j'utilise l'évènement "Private Sub Worksheet_Change" pour mettre en forme les données entrées par l'utilisateur sur la ligne courante.

L'utilisateur doit obligatoirement entrer une date dans la colonne B de la ligne active. Si ce n'est pas une date on sort de la boucle (Exit Sub)

Donc si après avoir entré la date, l'utilisateur appuie sur la touche de tabulation, la macro est OK car LignActiv est toujours correct. Par contre si l'utilsateur a appuyé sur <Enter>, il s'est décalé d'une ligne vers le bas et alors le message d'erreur apparait car la cellule B(LignActiv+1) est en général vide.
Je ne veux pas interdire le décalage vers le bas dans l'usage normal de la touche <Enter> donc il faut absolument que j'agisse dans le code mais je cale 🙁

Merci pour votre aide

Voici un extrait du code employé

Private Sub Worksheet_Change(ByVal Target As Range)
Dim LignActiv As Integer
....
LignActiv = ActiveCell.Row
'Gestion de la colonne 2
If Target.Column = 2 Then
If Not (IsDate(Cells(LignActiv, 2))) Then
MsgBox "Mettre une date valide", vbOKOnly
Exit Sub
Else
...
End If
End If
...
End Sub
 
Re : Controler une date sans se décaler

Bonjour,

essaie avec ce code :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Not (IsDate(Target)) Then
Application.EnableEvents = False
MsgBox "Mettre une date valide", vbOKOnly
Target = "": Target.Select
Application.EnableEvents = True
Exit Sub

Else
End If
End If
End Sub
 
Re : Controler une date sans se décaler

Merci bhbh et Job75

Ben Ouais ça marche bhbh (solution très propre et en plus elle vide la cellule en faute).

Je regarde aussi la soluce de Job75 car elle va peut être limiter la réécriture du reste du code.

Merci pour votre aide
 
- 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

  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
353
Réponses
9
Affichages
503
Réponses
10
Affichages
658
Réponses
2
Affichages
406
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…