Sélectioner la dernier ligne de plusieur colo

Fermé
morgan47 Messages postés 12 Date d'inscription samedi 3 juin 2006 Statut Membre Dernière intervention 19 juin 2006 - 4 juin 2006 à 10:10
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 4 juin 2006 à 11:37
Bonjour, c'st encore moi :)
Je remercie déjas lami20j.
Mon soucis est en VBA.
Mais maintenant j'ai un autre soucis, j'ai une feuille avec plusieur colone, comme par exemple nom, prenom, date de naissance...
De temps en temps je rajoute des entrées dans cette feuille, donc pour essayer de sélectionner la dernier ligne j'ai essayé de mettre cela dans le useform_initialize:

'Pour afficher la dernière saisie, plo est ma feuille
i = 2

Do Until plo.Cells(i, 1) = ""
i = i + 1
Loop
i = i - 1
dernier.Value = i

Je n'ai rien fait d'autre pour le moment, mais lorsque j'appui sur F5 pour tester j'ai une erreur d'éxécution 424.
quelqu'un pourrai me dire pourquoi?
merci, a bientot
A voir également:

3 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 juin 2006 à 10:25
Salut,

Range("A65536").End(xlUp).Row,1

Je t'explique. Ce que tu vois te calcule la dernière cellule remplie dans la colonne 1

Tu n'as qu'à récupèrer dans une variable la valeur et l'utiliser en fonction de ce que tu as besoin.

Ex

Disons que la colonne B (donc 2ème) tu veux savoir sur quelle ligne se trouve la dernière cellule remplie pour pouvoir selectionner la prochaine ligne (donc pour ne pas écraser les données précedentes)

1. On calcule le numéro de la dernière ligne remplie et on stocke dans une variable
Dim nbLigne As Long
nbLigne = Range("B65536").End(xlUp).Row

'ici on obtient le numéro de la ligne de la dernière cellule contenant une donées.
'donc on dois écrire dans la cellule qui se trouve sur la ligne nbLigne + 1

cells(nbLigne + 1, 2) = "nouvelle valeur"


Ou


Dim nbLigne As Long

nbLigne = Range("B65536").End(xlUp).Row + 1
cells(nbLigne, 2) = "nouvelle valeur"
lami20j
3
morgan47 Messages postés 12 Date d'inscription samedi 3 juin 2006 Statut Membre Dernière intervention 19 juin 2006
4 juin 2006 à 11:27
Private Sub Cacher_Click()
Unload UserForm1
End Sub

Private Sub UserForm_Initialize()

txtA.Text = Cells(Range("A65536").End(xlUp).Row, 1)
age.Text = Cells(Range("A65536").End(xlUp).Row, 2)


nom.RowSource = ("plo!Nom")
'remplit la combo
nom.ListIndex = -1
'une ligne vide s'affiche au lancement

End Sub

oui si tu veux mais pourquoi?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 juin 2006 à 11:37
Re,

mais pourquoi?

Pour voir où est l'erreur.

En ce qui concerne
age.Text = Cells(Range("A65536").End(xlUp).Row, 2)


Je vois que tu n'as pas compris.

Quand on cherche dans la 2ème colonne (voir en gras) tu montes à compte de B65536 et pas A.... (voir en gras)

Ca en ce qui concerne l'affichage du contenu de tes zones de texte.
Pour le reste de code je ne sais pas puisque je n'ai pas tout le code.

lami20j
0