Excel- BDD - je bloque !

Résolu/Fermé
paul-971 - 21 oct. 2009 à 22:26
 paul-971 - 23 oct. 2009 à 01:08
Bonjour,
j'ai crée une BDD sur Excel pour un petit commerce en lien avec une feuille de facture (f° recherchev ...etc.)
trés basique

par contre comme l'utilisateur peut augmenter sa BDD en ajoutant des articles je souhaite créer un petite formule qui dise "si la nouvelle référence crée existe déjà écrire ATTENTION CODE ARTICLE DEJA EXISTANT" ou une mise en forme conditionnelle.

et je bloque sur la formule ! je vois un si ou un NB.SI mais j'avoue qu'il me manque de neurones pour le faire rapidement !
A vot' bon coeur !
A voir également:

3 réponses

Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
22 oct. 2009 à 10:54
Salut,

Plusieurs possibilités

Avec Données/Validation
Il est possible d’interdire toute saisie doublon avec Données/Validation/Onglet Options, dans Autoriser, sélectionner Personnalisé et saisir ce code pour contrôler la colonne A

=NB.SI($A$1:$A$100;A1)=1
Onglet Alerte d’erreur dans Message d’erreur saisir le message que l’on souhaite voir apparaître exemple
ATTENTION CODE ARTICLE DEJA EXISTANT

Avec la mise en forme conditionnelle
Mettre la colonne à surveiller en surbrillance exemple la colonne A et Format/Mise en forme conditionnelle/sélectionner la formule est et saisir

=NB.SI(DECALER($A$1;0;0;LIGNE()-1);DECALER($A$1;LIGNE()-1;0))>0
Motif choisir un couleur
Dès qu’une valeur identique sera saisie en A la cellule se colorisera
je me suis aperçu qu'en passant pale forum la formule se parasite sur la fin aprés le 0 un petit tiret s'ajoute, il faut le virer ;LIGNE()-1;0"ici"))>0

Par formules
Avec une formule placée par exemple en B1 qui contrôlera la plage A1 à A100
=SI(SOMMEPROD(NB.SI(A1:A100;A1:A100))>NBVAL(A1:A100);"ATTENTION CODE ARTICLE DEJA EXISTANT";"")
Un message indiquera qu’un y a un doublon dans la plage

formule qu’il faudra incrémenter dans une colonne depuis la ligne 1 et donnera la position de la première saisie qui est en doublon
=SI(EQUIV(A:A;A:A;0)=LIGNE();"ok";"Attention code article existant déjà ligne "&EQUIV(A:A;A:A;0))

Ou plus simple
=SI(D9>0;SI(NB.SI($A$1:$A$100;A1)>1;"Doublon";"");"")

Ensuite il y a plus complexe en VBA ou on peut faire apparaître par exemple une boite de dialogue annonçant que la valeur existe déjà

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
22 oct. 2009 à 10:02
bonjour,
XL<2007
tu sélectionnes toute ta colonne y compris les lignes vides de réserve par ex: A2:A200
dans format-misen forme conditionnelle-la formule est:
=(A2<>"")*(NB.SI(A$2:A$200;A2)>1)
0
Bonsoir, merci pour votre aide

j'ai utilisé l'option de validation car pour les options avec la mise en forme conditionnelle il faut rajouter l'option si la cellule est vide ne rien faire

merci jemets en résolu
0