Test d'existance dans une liste

  • Initiateur de la discussion dj.run
  • Date de début
D

dj.run

Guest
Bonjour à tous,

je me permets d'ouvrir un nouveau fil car j'ai posé cette question dans un premier fil qui portait sur les recherches (pas le même sujet)

je viens encore vers vous car je rencontre un petit probleme, je voudrai tester l'existence d'une valeur numerique dans une liste (code client) et j'avais ce code dans un autre projet mais il marche avc des valeurs alpha et pas en numerique .

je pense qu'il faut le modifier ou le tourner autrement mais j'y arrive pas .

Dim L As Integer
L = Sheets("clients").Range("A3000").End(xlUp).Row + 1
With Sheets("clients")
For Each Cellule In Range("a2:a" & L)
If Cellule.Value = Textcdsal.Value Then
MsgBox ("Ce client existe déja")
Exit Sub
End If
Next Cellule

merci pour votre aide

"ah ! ces débutants pfouuuu!!"

dj.run
 
V

Valérie

Guest
Salut dj.run, et les autres

Il existe des fonctions de convertion qui te permettront je le crois de résoudre ton problème : CDbl(expression) si nombre réel, CLng(expression) si nombre entier

Dim L As Integer
L = Sheets("clients").Range("A3000").End(xlUp).Row + 1
With Sheets("clients")
For Each Cellule In Range("a2:a" & L)
If Cellule.Value = CLng(Textcdsal.Value ) Then
MsgBox ("Ce client existe déja")
Exit Sub
End If
Next Cellule


J'espère que cela suffira

@ bientôt
Valérie
 
D

dj.run

Guest
re à tous,

merci Valérie pour ton aide mais il m'affiche une erreur d'execution 13 type incompatible sur cette ligne :

If cellule.Value = CDbl(Textcdsal.Value) Then

je vais continuer à chercher

merci encore

dj.run
 
@

@Christophe@

Guest
Bonjour

Dj run, je t'ai répondu sur ton autre fil avec ton exemple que je t'ai remis dans le fil, j'ai comme Valerie le dis utilisé CDbl, teste le fichier et dis moi quoi

Bonne soirée

P.S. Bonne fête Valerie, je sais pas pourquoi, mais comme Thierry le dis, je le suis, lol


@Christophe@
 
Z

zakaria

Guest
Si tu veux toujours chercher une valeur dans une list, utilise soit la fonction countif de vba qui marche très bien sinon fais une boucle for ... to et insère dedans une condition if... then . J 'explique:


Dim i as integer

for i=1 to 3000
if textbox1.value="Valeur à chercher" then
msgbox "Client trouvé"
Else msgbox "Client inexistant"
End if
Next

Et le tour est joué

Voila, si vous avez des questions, n'hèsitez pas messieurs dames. Salut
 
D

dj.run

Guest
Bonjour à toutes et à tous,

Un grand merci à vous, je vais essayer toutes vos solutions, qui je suis sure fonctionnent.

Toutes mes excuses à Valérie car je n'ai même pas pensé à te souhaiter ta fête (merci à @+Thierry pour le rappel). Bonne fête avec du retard .

comme je le disais à @Christophe@ sur un autre fil je suis écœuré .....

encore merci à tous pour votre patience et votre aide .

dj.run
 
V

Valérie

Guest
MERCI MERCI MERCI à tous de cette attention,

Bien sur que Thierry connais LA DATE de la St Valérie car j'avais cru ouir lors de mon arrivée, dans des lieux autorisés que....

Bon en tout cas je suis émue

@ très bientôt

Valérie
 
D

Djn90

Guest
Bonjour Valérie,

Vous pouvez essayer également avec cette formule que j'ai appliquer dans un de mes travaux.

=NB.SI(A:A;A2)=1

A2 est par exemple la cellule active.

J'ai utilisé cette formule comme suit :

1. Sélectionner la première cellule contenant le code client
2. Sélectionner "dans le menu "Données" - "Validation"
3. Sélectionner l'onglet "options - critère de validation" :
dans rubrique "autoriser" : choisir personnalisé et dans rubrique "formule "placer la formule ci-avant
4. Dans l'onglet "Alerte d'erreur" : cocher la case "quand les données valide .."
Dans la case "message erreur" entrer le texte qui apparitra en cas d'erreur (ex : code client erroné)
5. Clicker sur OK pour valider
6. Pour recopier cette formule aux autres lignes qui existeraient déjà : faire edition "Copier" - "collage spécial - validation"

En cas de nouvelles données, faire insertion ligne dans le tableau existant.

Bonne appétit.

Djn
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom