Formule: dernière cellule occupée d'une col

Bonsoir à tous,

Existe t-il une formule pour récupérer la valeur de la dernière cellule occupée d'une colonne ?

l'équivalent de cette ligne en VBA

Range("b1") = Range("A65536").End(xlUp)

Amicalement

Claude

Bonsoir Claude

Matricielle

=INDIRECT(ADRESSE(MAX((Plage<>"")*(LIGNE(Plage)));COLONNE(Plage)))

La Plage doit être délimitée. Pas de colonne entière

Amicalement

Merci Amadéus,

çà marche pour la dernière cellule occupée comme demandé, Ok

mais pour parfaire mes connaissances en formules, j'ai voulu

faire pour la 1ère cellule occupée, en remplaçant le "ADRESSE(MAX" par "ADRESSE(MIN"

et là, çà ne marche plus !

ma logique est mauvaise ?

Claude

édit: fichier, ne tiens pas compte du tableau (autre fil)

82neolitik.zip (9.44 Ko)

édit2: et pour être complet, la même chose en parlant de ligne au lieu de colonne

dernière cellule occupée d'une ligne à droite

dernière cellule occupée d'une ligne à gauche

Sans abuser

Claude

Bonjour

Pour la premiere cellule avec valeur de ta plage

=INDEX(Plage;EQUIV(VRAI;Plage<>"";0))

à valider avec ctrl, maj et entrer ( formule que j'avais récuperer sur le site de MrEXCEL, il y a quelques temps)

Bonjour Claude

Quelques explications en détaillant la formule :

=INDIRECT(ADRESSE(MAX((Plage<>"")*(LIGNE(Plage)));COLONNE(Plage)))

Donne :

=INDIRECT(ADRESSE(MAX(({FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;VRAI;VRAI;FAUX;VRAI;VRAI;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX})*({3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30}));COLONNE(Plage)))

Soit :

=INDIRECT(ADRESSE(MAX({0;0;0;0;0;0;0;0;0;0;13;0;0;0;0;0;19;20;0;22;23;0;25;0;0;0;0;0});COLONNE(Plage)))

Donc le MAX est 25

Le MIN est 0

Sans prendre en compte les 0, le MIN est 13 ; il faut donc modifier la formule qui pourrait s'écrire ainsi :

=INDIRECT(ADRESSE(MIN(SI(Plage="";65000;LIGNE(Plage)));COLONNE(Plage)))

(65000 pour être sûr d'être supérieur à la plage)

Qui donnerait :

=INDIRECT(ADRESSE(MIN({65000;65000;65000;65000;65000;65000;65000;65000;65000;65000;13;65000;65000;65000;65000;65000;19;20;65000;22;23;65000;25;65000;65000;65000;65000;65000});COLONNE(Plage)))

Le MIN est bien 13.

Bien sûr, la formule de CB60 est la meilleure ; je voulais juste t'expliquer le pourquoi du comment.

Amicalement

Nad

Bonjour à tous,

Merci pour vos réponses et pour la patience de Nad à expliquer en détail.

J'ai créé un fichier que je garderais précieusement dans mes tablettes,

si vous pouviez m'aider à le compléter, (manque pour plage en ligne, vers droite et vers gauche)

Comme çà, j'aurais tout sur le sujet.

Bonne journée à tous

Claude

Bonjour,

Je n'ai fait que reprendre les formules données précédemment.

En remplaçant PlageV par PlageH,

en inversant les fonctions LIGNE et COLONNE,

en inversant les arguments "ligne" et "colonne" de la fonction ADRESSE.

Si on à compris les formules données précédement, c'est juste une adaptation.

A+

Bonjour

Ton fichier Plus celui de Ti avec quelques ajouts perso

Amicalement

116premder.zip (9.48 Ko)

re bonjour à tous,

Amadéus, j'ai fusionné les 2 fichiers, avec en + les adresses c'est nickel, j'ai tout maintenant.

C'est pas des formules de "rigolo" tout çà !

Merci à tous et bonne journée

Amicalement

Claude

Rechercher des sujets similaires à "formule derniere occupee col"