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

3 réponses

  1. 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
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. macalée
       
      merci beaucoup pour la solution

      Cordialement,
      BT
      0