Insérer dans TextBox valeur dernière cellule pleine d'une ligne

donpopo

XLDnaute Occasionnel
Bonjour le forum,

Je cherche à remplir un textbox d'un formulaire avec la dernière cellule remplie d'une ligne précise. J'arrive à déterminer la ligne désirée, pas de problème.
Le seul problème est de déterminer la dernière cellule non vide et placer la valeur dans mon textbox

Voici la procédure concernée (les lignes en commentaires et en retrait représentent mon problème):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Alimentation du formulaire UserForm2
Dim i As Long, j As Long, xlgn As Long, xdlgn As Long, xcol As Long, xmttl As Double, DerCol As Long

xdlgn = ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row
If Not Application.Intersect(Target, Range("B5:B" & xdlgn)) Is Nothing Then
xlgn = Target.Row
xcol = ActiveSheet.Cells(xlgn, Columns.Count).End(xlToLeft).Column
If ActiveSheet.Cells(xlgn, 6) < "01/01/1900" Then
MsgBox "Aucun Compte-titres ne figure sur cette ligne.", vbInformation, "COMPTES-TITRES"
Exit Sub
End If

UserForm2.TextBox1.Value = Cells(xlgn, 3).Value
UserForm2.TextBox2.Value = Cells(xlgn, 8).Value
UserForm2.TextBox3.Value = Cells(xlgn, 6).Value
UserForm2.TextBox4.Value = Cells(xlgn, 9).Value

'DerCol = .Range(xlgn,
'UserForm2.TextBox5.Value = .Range(xlgn & DerCol)


UserForm2.TextBox7.Value = Cells(xlgn, 5).Value
UserForm2.TextBox8.Value = Cells(xlgn, 4).Value
UserForm2.TextBox10.Value = Cells(2, 4).Value
Range("A4").Activate
UserForm2.Show
End If
End Sub

Si quelqu'un peut m'aider,
Merci,
Donpopo
 

Nairolf

XLDnaute Accro
Salut,

Pas évident de te dire précisément sans un fichier exemple, mais je pense que tu peux compter le nombre de cellules remplies sur ta ligne avec
VB:
application.worksheetfunction.counta(Range("A"&xlgn&":"F"&xlgn))
et en déduire la dernière cellule non vide de cette ligne.
 

donpopo

XLDnaute Occasionnel
Je vais joindre mon fichier; mais il est assez conséquent. C'est sur la feuille Christine que j'appelle mon userform en cliquant sur la case verte en début de ligne. Je souhaite insérer dans mon textbox5 la dernière valeur de la ligne cliquée en sachant que chaque semaine s'ajoutera une colonne supplémentaire.
Merci.
 

Pièces jointes

  • COMPTES-TITRES - Copie.xlsm
    4.8 MB · Affichages: 35

ChTi160

XLDnaute Barbatruc
Bonjour bonpopo
Bonjour le ful ,le Forum
Pas tout compris mais si tu veux la derniere cellule non vide d une ligne que tu connais
Avec ton ”xcol” tu devrais trouver la cellule qui est
VB:
.Cells(xlgn,xcol)
Mais pas sur d avoir compris
Non teste pas d ordi lol
Bonne fin de journee
Jean marie
 

ChTi160

XLDnaute Barbatruc
Re
voila ce que j'ai mis et semble répondre à la demande !
VB:
UserForm2.TextBox4.Value = Cells(xlgn, 9).Value
            UserForm2.TextBox5.Value = Cells(xlgn, xcol) ' Ici          
UserForm2.TextBox7.Value = Cells(xlgn, 5).Value
Bonne fin de Soirée
Jean marie
 

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83