Problème de cellule Visual Basic

Val2202 -  
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis actuellement en pleine programmation Visual Basic sous Excel, et j'aurais une question concernant l'adressage des cellule, je m'explique :

j'ai un userform, dans lequel on rentre 1 donnée, je voudrais que lorsque on clique sur OK, cette donnée aille s'écrire dans une cellule vide de la colonne dédié à cette donnée, et que si je rentre une nouvelle donnée dans mon userform, celle ci aille s'écrire dans la cellule dessous la cellule précédente, et ainsi de suite.

Programmer l'écriture de la donnée ne me pose pas de problème, c'est le fait de gérer si la cellule est vide on écrit dedans, sinon on écrit dans la suivante, et que le processus puisse se répéter.

Merci d'avance et bon weekend
A voir également:

4 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Bonjour,

Pour avoir la ligne de la dernière cellule vide de la colonne A :
derlig = [A65536].end(xlup).row + 1
(sur 2003, sur 2007 : [A1048576])

eric
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour Val2202, Éric,

Le codage indépendant de la version afin de distribuer le classeur multi-versions peut se faire de cette façon :

Dim derlig As Long
derlig = Cells(Columns(1).Cells.Count, "A").End(xlUp).Row + 1

En remplaçant le "A" par la colonne concernée.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Salut gb,

C'est vrai mais j'ai eu la flemme :-)
Bon we tout le monde
eric
0
Val2202
 
Merci à vous 2 pour vos réponses !

Cependant je ne suis pas sur d'avoir compris : si ma variable ( exple heure_1 ) doit etre écrite dans la première cellule vide de la colonne de mon tableau ( j'ai nommé une plage de cellule, qui correspond à ma colonne ), je dois utiliser une variable comme derlig également ?

Merci
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour


En supposant que ta plage nommée tu l'ai appelée : "toto"
Tu peux renseigner ta première cellule vide en écrivant :

Cells(Cells(Columns(1).Cells.Count, [toto].Column).End(xlUp).Row + 1, [toto].Column) = heure_1
0