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
10306
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 mai 2022
- 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.

4 réponses

ccm81
Messages postés
10306
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 mai 2022
2 290
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
10306
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 mai 2022
2 290
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
10306
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 mai 2022
2 290
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
10306
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 mai 2022
2 290
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
10306
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 mai 2022
2 290
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