durée inversée

J

JJ

Guest
Bonjour,
j'ai modifié une macro'durée' qui me décompte 1 heure depuis le début de la feuille excel en colonne G:
Dim...
Dim temps As Date
Columns('G:G').Select
t=1
Do While temps <'01:00:00'
'je fais plusieurs actions
t=t+1
Loop
End Sub
Elle fonctionne mais je voudrais que le décompte parte du bas de la feuille et non du début pour un problème de chronologie.
Peut on la modifier simplement?
(ou existe t il un moyen de 'renverser' la feuille excel (la dernière ligne devenant la première)
merci encore pour votre aide
JJ
 

soft

XLDnaute Occasionnel
Si tu sais où commencer, change les lignes de code suivantes


t=1
en
t= 1000 '(ou le n° de la dernière ligne)

et

t=t+1
en
t=t-1

Sinon tu peux trier sur cette colonne après traitement.

Message édité par: soft, à: 23/10/2005 17:31
 
J

JJ

Guest
oui et je peux même faire ce tri décroissant dans la macro .

PS: Existe t il un moyen pour que la macro connaisse le nombre de ligne utilisées par un tableau (car 3000 est un nombre fixe 'au hasard')
c'est pour info car ta solution avec 3000 me suffit .
Merci
Bonne semaine
JJ
 

soft

XLDnaute Occasionnel
Salut JJ, le forum,
On peut...
Voici un exemple ou on regarde dans la colonne A quelle est la première cellule vide :

...
Dim L As Long
L = 1
While Range('A' & L).Value <> ''
L = L + 1
Wend
MsgBox L - 1 & ' lignes utilisées'
...
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour JJ, soft, le forum,

Tu peux aussi utiliser :
Range('A1', Range('A65536').End(xlUp)).rows.count

Pour l'avoir dans une MsgBox :

Code:
[size=4]Sub CompteLigne()
  MsgBox (Range('A1', Range('A65536').End(xlUp)).Rows.Count & ' ligne(s) utilisée(s)')
End Sub[/size]

Amicalement
Charly
 

Statistiques des forums

Discussions
312 492
Messages
2 088 943
Membres
103 989
dernier inscrit
jralonso