Validation des données

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

D

dexcel

Guest
Bonjour,

Sur une colonne où l'on saisit des données (Chiffres) je souhaiterai limiter la saisie à 6 chiffres max entre 100000 et 999999 et bloquer la saisie des doublons.
Je sais qu'en utilisant la validation des données je peux faire ces fonctions, je sais le faire soit l'un soit l'autre, mais comment peut on mettre ces deux conditions en même temps ?
Merci de votre aide
 
Re : Validation des données

Bonjour Dexcel et bienvenu, bonjour le forum,

une proposition VBA avec la macro événementielle Change à placer dans le composant de l'onget correspondant :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim pa As String 'déclare la variable pa (Première Adresse)
Dim r As Range 'dérclare la variable r (Recherche)

If Target.Column <> 1 Then Exit Sub 'si la cellule éditée se trouve ailleurs que dans la colonne 1 (=A), sort de la procédure (à adapter à ton cas)
If Target.Value = "" Or Selection.Cells.Count > 1 Then Exit Sub 'si la cellule est effacée ou si plusieurs cellules sélectionnées, sort de la procédure
If Target.Value > 999999 Or Target.Value < 100000 Then 'condition : si la cellule n'est pas comprise entre 100000 et 999999
    MsgBox "La valeur doit être comprise entre 100000 et 999999 ! " 'message
    Target.ClearContents 'efface la cellule
    Target.Select 'sélectionne la cellule
End If 'fin de la condition
pa = Target.Address 'définit la première adresse pa
Set r = Columns(1).Find(Target.Value, Target, xlValues, xlWhole) 'de'finit la recherche r
If Not r Is Nothing And r.Address <> pa Then 'si il existe d'autres occurrences ailleurs qu'en pa
    MsgBox "Valeur existante en " & r.Address(0, 0) & " !" 'message
    Target.ClearContents 'efface la cellule
    Target.Select 'sélectionne la cellule
End If 'fin de la condition
End Sub
Tu adapateras le numéro de colonne à ton cas...
 
Re : Validation des données

Bonjour

j'ai juste fait un test sur la colonne D avec liste validation personnalisée

Code:
=ET(NBCAR(D1)=6;D1=ENT(D1);NB.SI(D:D;D1)=1)
Cela a l'air d'un début, il faudrait ajouter une condition préalable que la valeur soit un nombre je pense
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
564
Retour