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

  • Initiateur de la discussion Initiateur de la discussion Nicolas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 !
 
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

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+
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
559
Retour