Afficher usf multiple suivant choix dans frame et textbox

zombe

XLDnaute Occasionnel
Salut le forum
Je souhaite affichier des usf suivant certains critères.
En effet, j'ai deux types de clients (PUBLIQUE et PRIVE).
J'ai des numeros dans la plage PARAMETRE!D3:D8.
Comment faire pour afficher l'usf que je souhaite si les 2 conditions suivantes sont remplies:
Si PUBLIQUE est coché et que le numero saisi dans le textbox1 est presente dans PARAMETRE!D3:D8, je souhaite que Ac_regulpub s'affiche.
Sinon si PRIVE est coché et que le numero saisi dans le textbox1 est presente dans PARAMETRE!D3:D8, je souhaite que Ac_regulprive s'affiche.
Si aucune condition n'est reunie, je souhaite que Ac_regultotale s'affiche.
Merci
 

Pièces jointes

  • Choix_usf.xlsm
    26.6 KB · Affichages: 32
  • Choix_usf.xlsm
    26.6 KB · Affichages: 34
  • Choix_usf.xlsm
    26.6 KB · Affichages: 40
C

Compte Supprimé 979

Guest
Re : Afficher usf multiple suivant choix dans frame et textbox

Salut l'ami Zombe ;)

Voici une possibilité
VB:
Private Sub CommandButton1_Click()  Dim LigF As Long
  ' Rechercher la valeur du textbox
  If Me.TextBox1 <> "" Then
    LigF = 0
    On Error Resume Next
    LigF = Sheets("PARAMETRE").Range("D3:D8").Find(What:=Me.TextBox1).Row
    On Error GoTo 0
  End If
  ' Si une valeur a été trouvée
  If LigF > 0 Then
    ' Si OptionButton1 = publique est sélectionné
    If Me.OptionButton1 = True Then
      Ac_regulpub.Show
    ' Sinon si OptionButton2 est sélectionnée
    ElseIf Me.OptionButton2 = True Then
      Ac_regulprive.Show
    ' Sinon si aucun n'est sélectionné
    Else
      Ac_regultotale.Show
    End If
  ' Sinon si aucune ligne n'a été trouvée
  Else
    Ac_regultotale.Show
  End If
End Sub

A+
 

zombe

XLDnaute Occasionnel
Re : Afficher usf multiple suivant choix dans frame et textbox

Salut BrunoM45
Merci pour ta solution magique.
Elle fonctionne bien.
Je ne n'avais pas pris en compte tous les critères car je me disais que j'allais pouvoir étendre la solution que me sera proposée à mes autres conditions mais je me suis trompée car corsé.
J'ai essayé de reconfigurer mon sujet:
J'ai 4 colonnes ou le numero saisi dans le textbox1 est à chercher:Col D, F, H et J.

Si le numero saisi dans textbox1 se trouve dans F et PUBLIQUE est coché, AcregGeneralPub est à afficher,
Sinon si le numero est present dans F et PRIVE est coché, AcregGeneralPrive est à afficher.
C'est le meme principe pour les colonnes H et J.
N.B:vous avez déjà résolu pour la colonne D.
Merci d'intégrer les autres conditions.
Un grand merci à vous pour le soutien.
Je reste à votre disposition pour des informations complementaires.
 

Pièces jointes

  • Choix_usf.xlsm
    27.8 KB · Affichages: 56
  • Choix_usf.xlsm
    27.8 KB · Affichages: 49
  • Choix_usf.xlsm
    27.8 KB · Affichages: 60

zombe

XLDnaute Occasionnel
Re : Afficher usf multiple suivant choix dans frame et textbox

Salut BrunoM45
Suis venu à bout de mon problème.
Sur la base de ton code j'ai fabriquéb un code ou il y'avait de petit problème sur l'emplacement des end if mais ca été résolu.
Ci-dessous le code que tu pourras toujours apprécier si besoin est:
Code:
Private Sub CommandButton1_Click()
Dim LigF As Long, LigG As Long, LigH As Long, LigJ As Long

  ' Rechercher la valeur du textbox
  
  If Me.TextBox1 <> "" Then
    LigF = 0
    LigG = 0
    LigH = 0
    LigJ = 0
    On Error Resume Next
    LigF = Sheets("PARAMETRE").Range("AW2:AW8276").Find(What:=Me.TextBox1).Row
    LigG = Sheets("PARAMETRE").Range("Ay2:Ay13576").Find(What:=Me.TextBox1).Row
    LigH = Sheets("PARAMETRE").Range("BA2:BA1535").Find(What:=Me.TextBox1).Row
    LigJ = Sheets("PARAMETRE").Range("BC2:BC1700").Find(What:=Me.TextBox1).Row
    On Error GoTo 0
  End If
  
  If LigF > 0 Then                      ' Si une valeur a été trouvée
    If Me.Pub = True Then               ' Si Pub = publique est sélectionné
      CniPhonePub.Show
    ElseIf Me.Prive = True Then         ' Sinon si Prive est sélectionnée
      CnibPhonePrive.Show
    End If
  ElseIf LigG > 0 Then                  ' Sinon si une valeur a été trouvé dans le 2è cas
    If Me.Pub = True Then               ' Si Pub = publique est sélectionné
      AcRegGeneralPub.Show
    ElseIf Me.Prive = True Then
      AcRegGeneralprive.Show
    End If
  ElseIf LigH > 0 Then                  ' Sinon si une valeur a été trouvé dans le 3è cas
    If Me.Pub = True Then               ' Si Pub = publique est sélectionné
      ParentphonePub.Show
    ElseIf Me.Prive = True Then
      ParentphonePrive.Show
    End If
  ElseIf LigJ > 0 Then                  ' Sinon si une valeur a été trouvé dans le 4è cas
    If Me.Pub = True Then
      AcPhonePub.Show
    ElseIf Me.Prive = True Then
      AcPhonePrive.Show
    End If
  Else                                  ' Sinon si aucune ligne n'a été trouvée
    ElseIf Me.Pub = True Then
      AcRegGeneralPub.Show
    ElseIf Me.Prive = True Then
      AcRegGeneralprive.Show
    End If
  End If
  Unload Me
End Sub
Cdlt
 

Discussions similaires

Statistiques des forums

Discussions
312 428
Messages
2 088 337
Membres
103 821
dernier inscrit
Lorient56