Tester 3 conditions

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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. Je met ca directement dans le code VBA ?
    2. Oui, à adapter bien sur
      Peux tu donner le code de la procedure ?
    3. Car en fait j'ai des private sub nom_beforeUpdate, ... private sub prenom_beforeUpdate, et donc dans quel procedure je doit mettre ca ?
  2. 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
    1. 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é
  3. 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
    1. 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