Signaler une erreur de syntaxe, la cellule doit contenir

Bonsoir,

Je rame déjà depuis quelques temps pour réaliser ce qui suit. Merci pour votre aide.

Dans la cellule A1 je souhaite que les utilisateurs du fichier que je suis en train de créer, mettent une date dans cette cellule sous la forme jj/mm/aaaa.

Je veux que Excel signal une erreur de syntaxe éventuelle lors d’une saisie, exemple de message : « Le format de la date n’est pas correcte. »

Je veux également qu’il prévienne si l’utilisateur laisse la cellule vide, exemple de message : « Une date doit être saisie ».

Je souhaite que ces différents messages apparaissent dés que l’utilisateur laisse la cellule A1 pour en sélectionner une nouvelle.

jphflo

Bonsoir,

Un moyen pour faire cela est d'utiliser l'option VALIDATION du menu DONNEES.

  • sélectionne A1
  • DONNEES / VALIDATION
  • sous l'onglet PARAMETRES, choisis DATE dans la liste déroulante puis COMPRISE ENTRE dans la liste en dessous
  • Mets une date min et une date max (1/1/2030)
  • Décoche la case "ignorer si vide"
  • Sous l'onglet MESSAGE DE SAISIE, mets un message qui va apparaitre une fois la cellule sélectionnée
  • Sous l'onglet ALERTE, coche la case "Taper...." et mets un message qui apparaitra en cas d'erreur de saisie.

Amicalement

Dan

Bonsoir,

Merci pour la réponse.

C’est bien se que j'avais commencé à faire.

Pour trouver l'erreur se syntaxe, cela fonctionne très bien.

Mais rien n’empêche un utilisateur de laisser la cellule vide. En effet, si tu sélectionne ta cellule et que tu utilise la touche suppr de ton clavier Excel ne détecte pas que ta cellule est vide.

Voilà le problème que je n’arrive pas à résoudre.

Ci tu as une autre idée, même par le bien d’un code VBA, je suis preneur.

jphflo

Re,

Essaie cette macro en la plaçant en VBA dans la feuille concernée par ton contrôle à effectuer.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Macro Dan - XL pratique
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
If IsEmpty(Target) Then
MsgBox "la cellule doit être complétée"
Range("A1").Activate
End If
End If
End Sub

Amicalement

Dan

Merci Dan

Ton code fonctionne très bien.

Mais la encore lorsque tu clique sur le bouton ok du message rien n’empêche un utilisateur de laisser la cellule vide et de selectionner une nouvelle cellule.

Si tu as une autre solution pense à moi.

Merci encore.

jphflo

Rechercher des sujets similaires à "signaler erreur syntaxe doit contenir"