Macro: validation des saisies

  • Initiateur de la discussion Initiateur de la discussion roidurif
  • 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 !

roidurif

XLDnaute Occasionnel
Bonjour à tous,

Ce que je souhaite obtenir, c’est de générer plusieurs validations de donnée dans mon tableau saisie.

1) Validation de données.
Si je rentre une donnée en (A) ou (C) et que je valide par [Entrée], j’obtiens automatiquement par défaut en colonne (AB) : "TT" si le champ est vide et en colonne (AI) : "Euro" si le champ est vide.
Par contre, si je supprime les données en (A) et (C) alors, ca efface les données entrées par défaut.

2) Validations dates
En colonne (BB) et (BC), seule les dates au format jj/mm/aaaa sont acceptées. Si on saisi autre chose qu’une date, alors message « Vous devez saisir une date au format jj/mm/aaaa »

3) Validation Prix
En colonne (AH), seule les prix au format "0.00" sont acceptés. Si on saisi un prix à plus de deux décimales ou avec un séparateur virgule, alors message « Le format n’est pas correct, vérifier si le prix n’est pas plus de deux décimal ou le séparateur utilisé n’est pas une virgule »

Je vous remercie de votre aide.

Cordialement
 
Dernière édition:
Re : Macro: validation des saisies

Bonjour à tous,

Je reviens vers vous car je n'ai toujours pas trouver. La seule chose, j'ai pu faire un début de la Validation Prix et la Validations dates, mais je suis loin de reussir.
C'est pour cela je solicite votre aide :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsDate("BB2:BC") Then MsgBox ("La date doit être de ce format JJ/MM/AAAA")
If Not IsNumeric("AH2:AH60000") Then MsgBox ("Le prix doit être de ce format ''0.00''")
End Sub

Je vous remercie de votre aide.

Cordialement
 

Pièces jointes

Dernière édition:
Re : Macro: validation des saisies

Bonjour à tous,

j'ai essayer de faire ceci mais sans succés, merci de votre aide

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Range
x = .Range("BB2:BC65536").End(xlUp).Row
If x Is Nothing Then
If Not IsDate(x) Then
Call MsgBox("Vous devez inscrire une date sous la forme jj/mm/aaaa", vbInformation, Application.Name)
Target.Value = ""
End If
End If
End Sub

Je vous remercie de votre aide.

Cordialement
 
- 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
7
Affichages
647
Réponses
3
Affichages
428
Réponses
8
Affichages
647
A
Réponses
20
Affichages
3 K
ababi
A
Retour