Atteindre la dernière cellule d'une colonne en macro excel 4

N

Nicolas

Guest
Bonjour à toutes et à tous !

Sur excel 2000 et macro système excel 4 (j'arrive pas à "basculer" en vba, mais je ne désespère pas !) je voudrais atteindre et nommer la fin d'une colonne (première cellule vide rencontrée) en évitant une boucle "tant que" trop longue.

Existe t'il une solution hypersonique ?

J'ai essayé une instruction donnée sur le forum par monique : MAX(SI(Base!lc:lc(2500)<>"";LIGNE(lc:lc(2500)))) qui fonctionne bien, seulement pas moyen de m'en servir en macro, entre autres :

=FORMULE.MATRICIELLE("=MAX(SI(Base!lc:lc(2500)<>"";LIGNE(lc:lc(2500))))")

renvoie une erreure : la formule que vous avez rentrée contient une erreure !

A bientôt et encore Mega félicitations pour toutes vos réponses et conseils !
 
A

albert

Guest
bonjour Nicolas,
regarde si ça te convient

Sub Macro1()
'dernière ligne
Range("A1").End(xlDown).Select
End Sub

Sub Macro2()
'première ligne vide
Range("A1").End(xlDown).Offset(1, 0).Select
End Sub

Sub nommer()
'nom de la première ligne vide
a = Range("A1").End(xlDown).Offset(1, 0)
End Sub



albert
 

Pièces jointes

  • lignevide.zip
    5.3 KB · Affichages: 93
  • lignevide.zip
    5.3 KB · Affichages: 94
  • lignevide.zip
    5.3 KB · Affichages: 99
N

Nicolas

Guest
Salut Albert

Ta macro fonctionne bien, hélas je suis en excel 4 les anciennes macro du type =SELECTIONNER("l1c1") ...
Je garde tes infos pour quand je serai capable en vba (bientôt j'espère !

Merci pour ta réponse
a+
 
J

Jean-Marie

Guest
Bonsoir

Deux choses, difficile sans avoir pratiqué auparavant les formules matricielles en XL4.
Les références des cellules, tu utilises bien les références de cellules de type LC, mais tu fais une erreur dans la déclaration, Excel est limité à 256 colonnes et non 2500.

Le deuxième " provoque la déclaration de la formule, donc il faut concatener plusieurs chaînes, le gros problème est d'indiquer "" dans la formule, cela ce fait par """""".

=FORMULE.MATRICIELLE("=MAX(SI(Base!L1C1:L2500C1<>"&""""""&";LIGNE(L1C1:L2500C1);FAUX()))";Feuil1!B1)

C'est quand même plus pratique en VBA sniffff.

@+Jean-Marie
 
N

Nicolas

Guest
Bonjour tout le monde !

Merci Jean Marie, formule.matricielle fonctionne bien et en plus j'ai bien retenu l'astuce """". (Le & c'est pour concaténer ?)

... Et j'ai trouvé le moyen d'aller vite à la dernière cellule !! :

MODIFIER.SELECTION(no_direction)

No_direction est un nombre de 1 à 4 qui indique la direction du déplacement.

No_direction Direction
1 Gauche (équivaut à CTRL+GAUCHE ou COMMANDE+GAUCHE)
2 Droite (équivaut à CTRL+DROITE ou COMMANDE+DROITE)
3 Haut (équivaut à CTRL+HAUT ou COMMANDE+HAUT)
4 Bas (équivaut à CTRL+BAS ou COMMANDE+BAS)

ou Syntaxe

SEL.DERNIERE.CELLULE( )

Si ca peut servir à quelqu'un ... Quoiqu'il n'y est plus beaucoup d'irréductible comme moi à programmer en macro excel 4.
Mais la leçon fut bonne et je vais me mettre à vba. Avec ce forum cela me fait moins peur !

A+ et encore merci
 

Discussions similaires

Statistiques des forums

Discussions
312 922
Messages
2 093 644
Membres
105 775
dernier inscrit
assen