Freddyfbb
-
Modifié par Chris 94 le 31/05/2016 à 02:05
Bonjour,
Votre support habituel pour avoir les codes me permettant d'afficher les données dans un formulaire en utilisant la fonction Recherchev. Les informations à afficher dans ce formulaire se trouvent dans un autre classeur et celui-ci est fermé.
Mon programme fonctionne très bien lorsque les informations à afficher ou à rechercher se trouvent dans une autre feuille du même classeur mais vu le nombre d'utilisateurs de mon programme, cela me donne un grand travail lorsqu'il faut faire la mise à jour de cette feuille.
Ainsi, j'ai créé un nouveau classeur que tous les users utiliseront pour afficher les informations dans leur formulaire.
Le nom du nouveau classeur est Titulaire_PAC
La feuille qui contient les données : Détails
La plage des données : A:S
Ci-dessous, les codes que j'utilise pour le moment.
Private Sub cmdVerifMat_Click()
Dim Mat_Benef As String
With Sheets("Titulaire_PAC")
Mat_Benef = UserForm1.Matricule_Beneficiaire.Value
If Mat_Benef = "" Then MsgBox "Matricule bénéficiaire ne peut pas être vide", vbCritical + vbOKOnly, "Champ Matricule vide"
UserForm1.Matricule_Beneficiaire.SetFocus
If Application.CountIf(Worksheets("Titulaire_PAC").Columns("D"), Mat_Benef) > 0 Then
UserForm1.TxtNoms.Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("D:K"), 2, False)
UserForm1.TxtPrenom.Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("D:K"), 3, False)
UserForm1.TxtDateNaissance.Value = CDate(Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("D:K"), 4, False))
If UserForm1.TxtDateNaissance.Value <> "" Then
UserForm1.Age.Value = Year(UserForm1.Date_Jour.Value) - Year(UserForm1.TxtDateNaissance.Value)
Else
UserForm1.Age.Value = ""
End If
UserForm1.TxtSexe.Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("D:K"), 5, False)
UserForm1.TxtAdresse.Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("D:K"), 6, False)
UserForm1.TxtCommune.Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("D:K"), 7, False)
UserForm1.TxtTelephone.Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("D:K"), 8, False)
UserForm1.Fosa_Provenance.Enabled = True
'UserForm1.TxtNoms.SetFocus
UserForm1.Frame2.Visible = True
UserForm1.Frame3.Visible = True
UserForm1.Frame4.Visible = True
UserForm1.Frame5.Visible = True
UserForm1.Frame6.Visible = True
Else
MsgBox "Ce Bénéficiaire n'existe pas la base. Veuillez l'ajouter dans la Feuille Titulaire_PAC avant de continuer avec l'encodage", vbCritical + vbOKOnly, "Erreur de saisi"
'Unload UserForm1
usfTitulairePAC.Show
'Worksheets("Titulaire_PAC").Visible = True
'Sheets("Titulaire_PAC").Activate
End If
End With
End Sub