Tester 3 conditions

Fermé
chiken-little Messages postés 145 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 30 mai 2015 - 17 mai 2015 à 16:20
ccm81 Messages postés 10850 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2024 - 18 mai 2015 à 15:43
Bonjour,

Je voudrais savoir dans VB sur excel comment tester 3 condition (par exemple, si le nom a déjà été entré + le prénom déjà entré + le code postal déjà entré)

Comment procéder à ca sur visual basic ?

Merci d'avance pour vos réponses.
A voir également:

4 réponses

ccm81 Messages postés 10850 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2024 2 404
Modifié par ccm81 le 17/05/2015 à 16:43
Bonjour

En supposant que les variables nom, prenom, codepostal ont été affectées (par ex : nom = Cells(linom, liprenom) )
If nom<> "" and prenom <> "" and codepostal <> "" then
ton traitement
else
message d'erreur
end if

Cdlmnt
0
chiken-little Messages postés 145 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 30 mai 2015
17 mai 2015 à 16:50
Je met ca directement dans le code VBA ?
0
ccm81 Messages postés 10850 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2024 2 404
17 mai 2015 à 17:19
Oui, à adapter bien sur
Peux tu donner le code de la procedure ?
0
chiken-little Messages postés 145 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 30 mai 2015
17 mai 2015 à 17:22
Car en fait j'ai des private sub nom_beforeUpdate, ... private sub prenom_beforeUpdate, et donc dans quel procedure je doit mettre ca ?
0
ccm81 Messages postés 10850 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2024 2 404
17 mai 2015 à 18:56
Perso, je mettrai un bouton btOK qui va tester les textbox avec quelque chose comme ça

Private Sub btOK_Click()
If tbNom.Text = "" Or tbPrenom.Text = "" Or tbCodePostal.Text = "" Then
MsgBox "Données incomplètes"
Else
MsgBox "Suite de la procedure"
End If
End Sub

Cdlmnt
0
chiken-little Messages postés 145 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 30 mai 2015
17 mai 2015 à 19:22
Mais en fait, cette recherche de condition s'effectue dans une base de donnée, donc quand j'entre mes champs du userform, celà recherche si celà n'a pas déjà été entré
0
ccm81 Messages postés 10850 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2024 2 404
18 mai 2015 à 12:16
OK, ça change tout
En fait, tu entres tes coordonnées via ton UF, et tu veux tester si le contact existe dans ta BD, c'est ça ?
Il te faut utiliser la méthode Find sur la colonne des noms de ta BD, si le nom existe tu récupères la ligne correspondante et tu testes dans cette ligne si le prénom et le code sont identiques à ceux saisis
Cdlmnt
0
ccm81 Messages postés 10850 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2024 2 404
18 mai 2015 à 15:43
Re,

Quelque chose dans ce gout là derrière le bouton OK

Private Sub btOK_Click()
Dim nom, prenom, codepostal, celnom As Object
Dim linom As Long
  If tbNom.Text = "" Or tbPrenom.Text = "" Or tbCodePostal.Text = "" Then
    MsgBox "Données incomplètes"
  Else
    nom = tbNom.Text
    prenom = tbPrenom.Text
    codepostal = tbCodePostal.Text
    With ActiveSheet
      Set celnom = Sheets("BD").Columns("A:A").Find(nom, , , xlWhole)
      If celnom Is Nothing Then
        MsgBox nom & "n'est pas dans la BD"
        ' suite du traitement
      Else
        linom = celnom.Row
        If Sheets("BD").Range("B" & linom).Value <> prenom Or Sheets("BD").Range("C" & linom).Value <> codepostal Then
           MsgBox nom & " " & prenom & " " & codepostal & " n'est pas dans la BD"
           ' suite du traitement
        Else
           MsgBox nom & " " & prenom & " " & codepostal & " est déjà dans la BD"
           ' suite du traitement
        End If
      End If
    End With
  End If
End Sub

Cdlmnt
0