Insertion vlookup dans un formulaire pr compléter un sheet excel
Résolu
Freddyfbb
-
Freddyfbb -
Freddyfbb -
Bonjour,
Voici une partie de mon code. Je désire utiliser une fonction vlookup à partir de l'information saisie dans "Matricule_Beneficiaire". Les informations seront récupérées dans la feuille "Titulaire_PAC" : Plage "C:J" pour compléter les colonnes allant de ActiveCell.Offset(0, 3) ... (0, 10).
With Sheets("Détails")
Sheets("Détails").Activate
ActiveCell.Value = UserForm1.Date_Jour.Value
'ActiveCell.Offset(0, 1).Value = UserForm1.Date_Jour.Value
ActiveCell.Offset(0, 2).Value = UserForm1.Matricule_Beneficiaire.Value
ActiveCell.Offset(0, 11).Value = UserForm1.Fosa_Provenance.Value
ActiveCell.Offset(0, 12).Value = UserForm1.Prestations.Value
ActiveCell.Offset(0, 13).Value = UserForm1.Actes_Medicaux.Value
ActiveCell.Offset(0, 14).Value = UserForm1.Diagnostics.Value
ActiveCell.Offset(0, 15).Value = UserForm1.Cout_Prestation.Value
ActiveCell.Offset(0, 16).Value = UserForm1.txtCDF.Value
ActiveCell.Offset(0, 17).Value = UserForm1.Fosa_Orientation.Value
ActiveCell.Offset(0, 18).Value = UserForm1.Observations.Value
End With
Merci de votre support habituel.
Voici une partie de mon code. Je désire utiliser une fonction vlookup à partir de l'information saisie dans "Matricule_Beneficiaire". Les informations seront récupérées dans la feuille "Titulaire_PAC" : Plage "C:J" pour compléter les colonnes allant de ActiveCell.Offset(0, 3) ... (0, 10).
With Sheets("Détails")
Sheets("Détails").Activate
ActiveCell.Value = UserForm1.Date_Jour.Value
'ActiveCell.Offset(0, 1).Value = UserForm1.Date_Jour.Value
ActiveCell.Offset(0, 2).Value = UserForm1.Matricule_Beneficiaire.Value
ActiveCell.Offset(0, 11).Value = UserForm1.Fosa_Provenance.Value
ActiveCell.Offset(0, 12).Value = UserForm1.Prestations.Value
ActiveCell.Offset(0, 13).Value = UserForm1.Actes_Medicaux.Value
ActiveCell.Offset(0, 14).Value = UserForm1.Diagnostics.Value
ActiveCell.Offset(0, 15).Value = UserForm1.Cout_Prestation.Value
ActiveCell.Offset(0, 16).Value = UserForm1.txtCDF.Value
ActiveCell.Offset(0, 17).Value = UserForm1.Fosa_Orientation.Value
ActiveCell.Offset(0, 18).Value = UserForm1.Observations.Value
End With
Merci de votre support habituel.
A voir également:
- Insertion vlookup dans un formulaire pr compléter un sheet excel
- Whatsapp formulaire opposition - Guide
- Liste déroulante excel - Guide
- Trier un tableau excel - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Word et excel gratuit - Guide
2 réponses
Bonjour,
au plus simple:
au plus simple:
With Sheets("Détails")
Sheets("Détails").Activate
ActiveCell.Value = UserForm1.Date_Jour.Value
'ActiveCell.Offset(0, 1).Value = UserForm1.Date_Jour.Value
ActiveCell.Offset(0, 2).Value = UserForm1.Matricule_Beneficiaire.Value
'-------------------------------------
Mat_Benef = UserForm1.Matricule_Beneficiaire.Value
ActiveCell.Offset(0, 3).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 1, False)
ActiveCell.Offset(0, 4).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 2, False)
ActiveCell.Offset(0, 5).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 3, False)
ActiveCell.Offset(0, 6).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 4, False)
ActiveCell.Offset(0, 7).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 5, False)
ActiveCell.Offset(0, 8).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 6, False)
ActiveCell.Offset(0, 9).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 7, False)
ActiveCell.Offset(0, 10).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 8, False)
'-------------------------------------
ActiveCell.Offset(0, 11).Value = UserForm1.Fosa_Provenance.Value
ActiveCell.Offset(0, 12).Value = UserForm1.Prestations.Value
ActiveCell.Offset(0, 13).Value = UserForm1.Actes_Medicaux.Value
ActiveCell.Offset(0, 14).Value = UserForm1.Diagnostics.Value
ActiveCell.Offset(0, 15).Value = UserForm1.Cout_Prestation.Value
ActiveCell.Offset(0, 16).Value = UserForm1.txtCDF.Value
ActiveCell.Offset(0, 17).Value = UserForm1.Fosa_Orientation.Value
ActiveCell.Offset(0, 18).Value = UserForm1.Observations.Value
End With
Vous êtes un grand support pour moi.
J'aimerais faire de même pour mon formulaire Modif_Form.
Si le user apporte une modification sur le Matricule, que la formule vlookup soit appliquée avec les memes exigences.
Les informations à compléter dans les colonnes E à L proviendront de la feuille Titulaire_PAC. La valeur à chercher est toujours Matricule_Beneficiaire.
Un message d'erreur s'affiche lorsque le nouveau matricule ne se trouve pas dans la feuille Titulaire_PAC.
Dim Modification As Integer
Modification = ID.Value
With Sheets("Détails")
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If Range("A" & i).Value = Modification Then
'Range("A" & i).Value = ID.Value
Range("B" & i).Value = Date_Jour.Value
Range("D" & i).Value = Matricule_Beneficiaire.Value
Range("M" & i).Value = Fosa_Provenance.Value
Range("N" & i).Value = Prestations.Value
Range("O" & i).Value = Actes_Medicaux.Value
Range("P" & i).Value = Diagnostics.Value
Range("Q" & i).Value = Imagerie.Value
Range("R" & i).Value = Examens.Value
Range("S" & i).Value = Cout_Prestation.Value
Range("T" & i).Value = txtCDF.Value
Range("U" & i).Value = Fosa_Orientation.Value
Range("V" & i).Value = Observations.Value
Unload Modif_Form
End If
Next i
End With
J'aimerais faire de même pour mon formulaire Modif_Form.
Si le user apporte une modification sur le Matricule, que la formule vlookup soit appliquée avec les memes exigences.
Les informations à compléter dans les colonnes E à L proviendront de la feuille Titulaire_PAC. La valeur à chercher est toujours Matricule_Beneficiaire.
Un message d'erreur s'affiche lorsque le nouveau matricule ne se trouve pas dans la feuille Titulaire_PAC.
Dim Modification As Integer
Modification = ID.Value
With Sheets("Détails")
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If Range("A" & i).Value = Modification Then
'Range("A" & i).Value = ID.Value
Range("B" & i).Value = Date_Jour.Value
Range("D" & i).Value = Matricule_Beneficiaire.Value
Range("M" & i).Value = Fosa_Provenance.Value
Range("N" & i).Value = Prestations.Value
Range("O" & i).Value = Actes_Medicaux.Value
Range("P" & i).Value = Diagnostics.Value
Range("Q" & i).Value = Imagerie.Value
Range("R" & i).Value = Examens.Value
Range("S" & i).Value = Cout_Prestation.Value
Range("T" & i).Value = txtCDF.Value
Range("U" & i).Value = Fosa_Orientation.Value
Range("V" & i).Value = Observations.Value
Unload Modif_Form
End If
Next i
End With
J'aimerais à ce niveau avoir un message box qui demandera au user d'arreter et d'ajouter d'abord ce benef dans la feuille Titulaire_PAC avant de continuer.
Merci encore une fois de plus de ton support.
Ben vaudrait mieux verifier que de benef existe apres la saisie dans l'UF
Mais bon.
With Sheets("Détails") Mat_Benef = UserForm1.Matricule_Beneficiaire.Value If appilaction.CountIf(Worksheets("Titulaire_PAC").Columns("C"), Mat_Benef) > 0 Then Sheets("Détails").Activate ActiveCell.Value = UserForm1.Date_Jour.Value 'ActiveCell.Offset(0, 1).Value = UserForm1.Date_Jour.Value ActiveCell.Offset(0, 2).Value = UserForm1.Matricule_Beneficiaire.Value '------------------------------------- ActiveCell.Offset(0, 3).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 1, False) ActiveCell.Offset(0, 4).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 2, False) ActiveCell.Offset(0, 5).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 3, False) ActiveCell.Offset(0, 6).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 4, False) ActiveCell.Offset(0, 7).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 5, False) ActiveCell.Offset(0, 8).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 6, False) ActiveCell.Offset(0, 9).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 7, False) ActiveCell.Offset(0, 10).Value = Application.WorksheetFunction.VLookup(Mat_Benef, Worksheets("Titulaire_PAC").Range("C:J"), 8, False) Else MsgBox " Ce benef n'exite pas dans la base. Veuillez le saisir." Exit Sub End If '------------------------------------- ActiveCell.Offset(0, 11).Value = UserForm1.Fosa_Provenance.Value ActiveCell.Offset(0, 12).Value = UserForm1.Prestations.Value ActiveCell.Offset(0, 13).Value = UserForm1.Actes_Medicaux.Value ActiveCell.Offset(0, 14).Value = UserForm1.Diagnostics.Value ActiveCell.Offset(0, 15).Value = UserForm1.Cout_Prestation.Value ActiveCell.Offset(0, 16).Value = UserForm1.txtCDF.Value ActiveCell.Offset(0, 17).Value = UserForm1.Fosa_Orientation.Value ActiveCell.Offset(0, 18).Value = UserForm1.Observations.Value End With