Excel2003 Userform N° de ligne

macalée -  
 macalée -
Bonjour,

j'ai une fichier excel avec ces colonnes et un userForm

DATE_RECEP
MOY_TRANSP
NUM_VOYAGE
NUM_DISTR_EFS
NUM_DON
NUM_EPISODE
ID_PATIENT

Après avoir enregistrer les données dans les 5 1ére colonnes (soit de DATE_RECEP à NUM_DON) je veux compléter l'enregistrement des 2dernieres colonnes en étant positionné sur la bonne ligne en fonction du NUM_DON

je récupère bien le NUM_DON mais je n'arrive pas à modifier mon enregistrement en le complétant


Pouvez-vous m'aider?
merci par avance

BT
A voir également:

3 réponses

Zoul67 Messages postés 2001 Statut Membre 149
 
Bonsoir,

Je n'ai pas bien compris ta question mais d'après ton titre, ça doit pouvoir se résoudre avec la propriété ListIndex qui renvoie la position du champ de liste sélectionné.

https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G

A+
0
macalée
 
Bonjour,

je vais essayer d'être plus précise.

j'enregistre sur une ligne les 5 premières colonnes via mon 1er userform.

Ensuite, à partir d'un 2éme userform, je rappelle les données de cette ligne en fonction du N° de don.

donc, je voudrais compléter la saisie de cette ligne avec le complément d'info saisi dans ce 2éme userform, mais pour cela,il faut que je soit bien positionné sur la bonne ligne.

J'ai ce début de code pour retrouver les infos à partir de mon N° de don

Private Sub Cmd_rech_Click()
Dim Trouve As Range
Dim ligne As Integer
'***********************************
If Txt_num_don.Value = "" Or Not IsNumeric(Txt_num_don.Value) Then Exit Sub
With Sheets("DONNEES")
Set Trouve = .Columns(5).Cells.Find(Txt_num_don.Value, lookat:=xlWhole)
If Trouve Is Nothing Then
MsgBox "Pas trouvé ce N°" & Txt_num_don.Value & " dansla feuille DONNEES du classeur Excel"
Exit Sub
Else
Txt_num_distr_efs.Value = Trouve.Offset(0, -1)
Txt_id_patient.Value = Trouve.Offset(0, 2)
Txt_nom.Value = Trouve.Offset(0, 3)
Txt_JF.Value = Trouve.Offset(0, 4)
txt_prenom.Value = Trouve.Offset(0, 5)
Txt_dt_nai.Value = Trouve.Offset(0, 6)
Txt_num_episode.Value = Trouve.Offset(0, 1)


End If
End With


Merci de bien vouloir m'orienter vers la méthode à adopter

BT
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,
a mettre tout au debut du VBA UserForm2
Option Explicit
Dim Ligne



Set Trouve = .Columns(5).Cells.Find(Txt_num_don.Value, lookat:=xlWhole)
Ligne = Trouve.Row

Avec cela vous avez la ligne de votre enregistrement

Vous pourrez enregistrer les infos des TextBox sur la bonne ligne

Bonne suite
0
macalée
 
merci beaucoup pour la solution

Cordialement,
BT
0