Récupérer les valeurs des cellules d'une colonne excel [Résolu]

Messages postés
13
Date d'inscription
lundi 23 mai 2016
Dernière intervention
18 décembre 2017
- - Dernière réponse : gruflome
Messages postés
13
Date d'inscription
lundi 23 mai 2016
Dernière intervention
18 décembre 2017
- 18 déc. 2017 à 00:01
Bonjour, merci pour toute l'aide que vous m'aviez déjà donnée
je met au point un UserForm de contrôle de saisie. et je veux avant d'ajouter la saisie à une feuille excel vérifier que les données des controles ne sont pas déjà dans la feuille. mais quand j'exécute le code il ne me retourne rien alors j'ai placé un MsgBox pour retourner le numro mais elle était vide

lir = ph.Cells(Rows.count, 1).End(xlUp).Row

num = TxtNum.Text 'numéro


With ph

For count = 2 To lir 'count est de type integer

numro = .Cells(bis, 1)
nom = .Cells(bis, 2)
preno = .Cells(bis, 3)
lieu = .Cells(bis, 5)
dat = .Cells(bis, 6)
sexe = .Cells(bis, 4)
nation = .Cells(bis, 11)

MsgBox numro ' vérifie si numro contient des valeurs


If numro = num Then
vrai = True
MsgBox numro

End If

If Me.Txtnomphysik.Text = nom And Me.Txtprenomphysik.Text = preno And Me.Txtlieubornphy.Text = lieu

And Me.Txtdatebornphy.Text = dat And Me.CBsexephy.Value = sexe And Me.CBnationalphy.Value = nation Then

nb = nb + 1

End If

Next count

If vrai = True Then
MsgBox "Ce numéro est déjà attribué", vbOKOnly + vbCritical, "Erreur"
TxtNum.Text = ""
Exit Sub
End If

If nb = 5 Then
MsgBox "Cet client a déjà épuré son quota d'attribution de numéro ", vbOKOnly + vbCritical, "Erreur"

Me.Txtnomphysik.Text = ""
Me.Txtprenomphysik.Text = ""
Me.Txtlieubornphy.Text = ""
Me.Txtdatebornphy.Text = ""
Me.CBsexephy.Value = ""
Me.CBnationalphy.Value = ""

Exit Sub
End If

End With



Merci d'avance
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
23635
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 décembre 2018
1
Merci
Bonjour,

Pour vérifier si une valeur existe déjà dans ta feuille il suffit de faire un FIND
http://www.commentcamarche.net/faq/36886-vba-recherche-de-donnees-la-methode-find

ou un countif
https://msdn.microsoft.com/fr-fr/vba/excel-vba/articles/worksheetfunction-countif-method-excel?f=255&MSPPError=-2147217396


Pas de besoin de boucle...

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

gruflome
Messages postés
13
Date d'inscription
lundi 23 mai 2016
Dernière intervention
18 décembre 2017
-
bonjour merci beaucoup pour ton aide. j'ai utilisé la méthode " find" et cela marche très bien
Commenter la réponse de jordane45
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
Bonjour

- que contient à ce moment-là la variable bis (dont on ne voit ni sa déclaration, ni son initialisation) ?
- si contient bien une valeur > 0 (disons par exemple 11) : que contient la cellule A11 ? Car si vide, ma foi ...
gruflome
Messages postés
13
Date d'inscription
lundi 23 mai 2016
Dernière intervention
18 décembre 2017
-
pour la déclaration de la variable
 Dim bis As Integer 'mais je ne l'ai pas initialisé

je renseigne dans la cellule A les numéros des clients. donc elles ne sont pas vide
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
J'ai par ailleurs des difficultés à comprendre la raison d'une boucle qui parcourt à chaque itération les mêmes cellules de la même ligne (la ligne de rang bis, que je ne vois évoluer nulle part°
Commenter la réponse de ucfoutu
Messages postés
13
Date d'inscription
lundi 23 mai 2016
Dernière intervention
18 décembre 2017
0
Merci
merci à tous pour votre aide .
Commenter la réponse de gruflome

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.