1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Sub mise_a_jour_episodes_cliniques()
Dim cpt_l As Integer, cpt_c As Integer
Dim lePatient As String
Dim laDate As Date
Dim lignePatient As Integer, derColonneDate As Integer
For cpt_l = 2 To Sheets("Episodes cliniques").Range("a" & Rows.Count).End(xlUp).Row
lePatient = Sheets("Episodes cliniques").Cells(cpt_l, 1)
laDate = Sheets("Episodes cliniques").Cells(cpt_l, 2)
'Recherche de la ligne du patient dans la feuille Résultats mensuels
Set R = Sheets("Résultats mensuels").Range("A:A").Find(lePatient)
If Not R Is Nothing Then
lignePatient = R.Row
'Derniere colonne ou il y a une date
derColonneDate = Sheets("Résultats mensuels").Cells(1, Cells.Columns.Count).End(xlToLeft).Column
'Parcours des colonnes dates à la recherche de la date directement supérieur à la date recherchée
For cpt_c = 2 To derColonneDate
If Sheets("Résultats mensuels").Cells(1, cpt_c) > laDate Then
Sheets("Episodes cliniques").Cells(cpt_l, 3) = Sheets("Résultats mensuels").Cells(lignePatient, cpt_c - 1)
' au lieu de prendre la valeur (lignePatient, cpt_c - 1), j'aimerais mettre la dernière valeur non nulle à G si cette cellule est vide
Sheets("Episodes cliniques").Cells(cpt_l, 4) = Sheets("Résultats mensuels").Cells(lignePatient, cpt_c)
' au lieu de prendre la valeur (lignePatient, cpt_c), j'aimerais mettre la première valeur non nulle à D si cette cellule est vide
Exit For
End If
Next cpt_c
End If |
Partager