dernier chiffre d'une colonne

biber biber
299 contributions
Membre depuis le 15/11/2002
Envoyé le 13/10/2006 à 22:47


Bonjour à tous

. Je cherche la formule qui me permettrait de sélectionner dans une case A1 uniquement le dernier chiffre rentré en bas d\'une colonne X , cette colonne s’allongeant régulièrement


merci à l\'avance

bib
Bib
Pegase Pegase
1 023 contributions
Membre depuis le 07/02/2002
Envoyé le 13/10/2006 à 22:54 Modifié par Modifié par Pegase le 13/10/20


Sous Excel je suppose
Dernière cellule d\'une colonne Ctrl+ flèche vers le bas
Première cellule d\'une colonne Ctrl+ flèche vers le haut
Dernière cellule d\'une ligne Ctrl+ flèche vers la droite
Première cellule d\'une ligne Ctrl+ flèche vers la gauche

Attention : Si la sélection s\'arrête sur la première cellule non vide

Voir www.szekely.info/rac_excel.htm
Moi, le jour où j'aurai vraiment mon âge, je mourrai (Léo Ferré).
Mylene Mylene
5 653 contributions
Membre depuis le 06/01/2003
Envoyé le 13/10/2006 à 23:23


A essayer sous forme de macro, selon le résultat attendu (report de ce chiffre dans une autre cellule, par exemple)
biber biber
299 contributions
Membre depuis le 15/11/2002
Envoyé le 13/10/2006 à 23:30


Merci pour cette réponse rapide mais je me suis mal exprimé
Je veux que dans une cellule en haut de ma page par exemple en k2 , se reporte le dernier chiffre qui apparaît chaque jour en bas d’une colonne k de k3 k4 k5 etc ( j’en suis à K22 )
En faisant =INDEX(K6:K22;NBVAL(K6:K22)) pour une colonne où figure des chiffres jusqu’à k22, j’obtiens bien la reproduction de k 22 en k2
Je suis donc tenté de » rallonger » par exemple =INDEX(K6:K100;NBVAL(K6:K100)) mais cela ne marche pas , k2 devient vide !
Merci
Bib
Bib
Pegase Pegase
1 023 contributions
Membre depuis le 07/02/2002
Envoyé le 14/10/2006 à 16:39


qui me permettrait de sélectionner dans une case A1

Ok je n\'avais pas compris ce que tu souhaitais faire. Au lieu de sélectionner tu aurais du écrire \"recopier\", mais ce n\'est pas grave !
Je n\'ai pas le temps tout de suite mais dans 1 heure ou 2 je te prépare une petite macro qui te mettra à jour cette cellule à chaque ouverture de ta feuille excel ou en cliquant sur un bouton.
Sais tu écrire des macros ?
A tout à l\'heure.
Pégase
Moi, le jour où j'aurai vraiment mon âge, je mourrai (Léo Ferré).
Pegase Pegase
1 023 contributions
Membre depuis le 07/02/2002
Envoyé le 14/10/2006 à 17:55


Bon je reviens, c'est parti

Tu ouvres ton classeur Excel
Tu fais Alt+F11, un fenêtre va s'ouvrir

MacroCell1b
Tu sélectionnes la ligne VBAPROJECT (nom_de_ton_fichier.xls) Chez moi pour l'exemple AFAC.xls
Clique droit sur cette ligne Insertion > Module
Dans la partie droite de la nouvelle fenêtre tu recopies les 5 lignes ci-dessous

Sub CopieDerCellule()
Range("B65536").Select 'Cherche la dernière cellule de la colonne B
ActiveCell.End(xlUp).Select 'Sélectionne la dernière cellule de la colonne B
Range("A1") = ActiveCell.Value 'Copie la dernière cellule de la Col B dans la cellule A1
End Sub

Tout ce que j'ai mis en italique apparaîtra en vert ce sont des commentaires pour t'expliquer

MacroCell2

Ensuite Double clique sur ThisWorkbook et tu recopies les 3 lignes ci-dessous : Ainsi a chaque fois que tu ouvriras ton classeur excel la cellule A1 sera mise à jour.

Private Sub Workbook_Open()
CopieDerCellule
End Sub

Ensuite Double clique sur Feuil1 (Si Feuil1 est le nom de ta feuille) et tu recopies les 3 lignes ci-dessous : Ainsi a chaque fois que tu sélectionneras une autre feuille et que tu reviendras sur la feuille 1 la cellule A1 sera mise à jour.

Private Sub Worksheet_Activate()
CopieDerCellule
End Sub

Enfin si tu veux un bouton sur la Feuil1 :
- Sélectionne la feuille 1
- Affichage > Barre d'outils > Formulaire
- Tu cliques sur l'icône qui représente un bouton (Le 2ième de la colonne de droite) et tu dessines ton bouton

MacroCell3

- Tu vérifies qu'il est bien précisé Macros dans : Ce classeur
- Tu sélectionnes CopierDerCellule > Ok
- Dans le bouton tu sélectionnes Bouton 1 que tu remplaces par ce que tu veux (par ex Mise à jour)
- Tu cliques n'importe où dans ta feuille excel pour désélectionner ton bouton
- En sélectionnant ton bouton par un clique droit tu peux le redimensionner et le déplacer

Et voilà...

Bon courage et si tu n'y arrives pas : demande
Moi, le jour où j'aurai vraiment mon âge, je mourrai (Léo Ferré).
biber biber
299 contributions
Membre depuis le 15/11/2002
Envoyé le 14/10/2006 à 21:32


Merci beaucoup pour cette réponse rapide
jusque là, je ne me suis confectionné des macros qu\'en me servant du bouton Macro et en faisant chaque manip
je n\'en ai jamais écrit : raison de + pour commencer !
je vais lire minutieusement ton topo et nous verrons bien !

Cela va occuper mes loisirs demain dimanche !

Merci encore
Cordialement
Bib
Bib
Pegase Pegase
1 023 contributions
Membre depuis le 07/02/2002
Envoyé le 14/10/2006 à 22:39


raison de + pour commencer

(+) (+)
Prend garde cela peut devenir une drogue [:D]

Bon dimanche
Moi, le jour où j'aurai vraiment mon âge, je mourrai (Léo Ferré).
biber biber
299 contributions
Membre depuis le 15/11/2002
Envoyé le 15/10/2006 à 00:43


Rebonsoir !
Je me suis bien amusé dès ce soir à tout recopier et ce, sans aucun problème ; j’ai compris le mécanisme même si évidemment je ne sais pas parler ce langage !
En fait, cela ne marche pas mais je crois deviner pourquoi. Je m’explique :
Je veux programmer de façon qu’apparaisse en K2 , le dernier chiffre existant dans la colonne K
Ceci de façon permanente si possible mais s’il faut cliquer sur un bouton, ce n’est pas grave !
Actuellement cette colonne est remplie de K6 à K 24 K24= 699 puis tout est vierge de K25 à l’infini
Donc quand j’appuie sur mon bouton, 699 devrait apparaître en K2Or rien n’apparaît en K2 et la macro me dirige à la case 34 qui est vierge !!
Ce qui me chiffonne, c’est que « Range("K2") = ActiveCell.Value signifie d’après tes explications Copie la dernière cellule de la colonne K dans la cellule K2
Or il faut copier la dernière cellule de la colonne K différente de 0

Autre cause possible d’erreur mais je n’en sais rien ? je suis sur la nouvelle version Béta d’Excel qui pose peut être problème.

Je suis bien long et je m’en excuse : tu n’es pas obligé de perdre ton temps pour une chose sans importance qui est un jeu pour moi !
Déjà je te remercie infiniment du temps que tu m’as consacré
Cordialement
Bib
Bib
Pegase Pegase
1 023 contributions
Membre depuis le 07/02/2002
Envoyé le 15/10/2006 à 11:36


tu n’es pas obligé de perdre ton temps pour une chose sans importance qui est un jeu pour moi !

bien-sur sauf que ce genre "d'exercices" me passionne et m'amuse beaucoup.
J'ai ainsi écris un ensemble de macros pour un fichier de gestion de comptes pour une association (~3500 lignes) mais j'y ai passé quelques nuits...
Donc ton pb est un moyen d'apprendre un peu plus...

J'ai modifier la macro pour quelle correspondent à tes cellules

Sub CopieDerCellule()
Range("K65536").Select
ActiveCell.End(xlUp).Select
Range("K2") = ActiveCell.Value
Range("K2").Select
End Sub

Explications :
Range("K65536").Select > Sélectionne la dernière cellule de la colonne K d'un tableau excel. Or Un tableau ne peut avoir que 65 536 lignes
ActiveCell.End(xlUp).Select > Cherche et Active la première cellule non vide de la colonne sélectionnée précédemment, mais en remontant (depuis 65 536, 65 535, 65 534....)
Range("K2") = ActiveCell.Value > Ecris la valeur de la celule précédemment activée dans la cellule K2
Range("K2").Select > Sélectionne K2

Voilà chez moi ça fonctionne
Attention Si dans la colonne K une cellule est vide, la macro n'en tiendra pas compte puisqu'elle cherche depuis le bas. Voir mon exemple

Exemple

Si ça ne fonctionne pas je te donnerais une adresse mail en boite perso pour que tu m'envoies ton fichier (si ce n'est pas confidentiel)

mais s’il faut cliquer sur un bouton, ce n’est pas grave !

Aujourd'hui je ne sais pas faire automatiquement, mais je vais chercher ou demander sur un forum spécialisé de l'aide. Je pense que c'est possible. Tu peux aussi associer un raccourci clavier à ta macro.
Mais j'ai besoin de savoir comment les nouvelles valeurs sont ajoutées (699 par exemple)

N'hésite pas à me "re déranger" [8D]
Moi, le jour où j'aurai vraiment mon âge, je mourrai (Léo Ferré).
biber biber
299 contributions
Membre depuis le 15/11/2002
Envoyé le 15/10/2006 à 15:32


Bon dimanche !
la macro me dirige finalement bien sur K2 mais elle reste vide !!

Serait ce un problème de la nouvelle version d\'Excel ?

En fait, je me suis trouvé une solution toute bète, mais qui n\'a rien à voir avec les macros !

si cela t\'amuse ( et moi aussi ! ), je peux t\'envoyer à ton adresse mail le fichier

MERCI

Bib
Bib
biber biber
299 contributions
Membre depuis le 15/11/2002
Envoyé le 15/10/2006 à 17:26


Sur le site www.excel-downloads.com , on m’avait proposé quelque chose que je n’avais pas compris car je ne savais pas où le mettre !

Ecrire en K3 =RECHERCHE(9^9;K:K)
Ça marche !!

Cordialement à toi et merci encore car n’importe comment, cela m’a entr\'ouvert les portes de programmations futures !

Bib
Bib
Pegase Pegase
1 023 contributions
Membre depuis le 07/02/2002
Envoyé le 15/10/2006 à 19:10 Modifié par Modifié par Pegase le 15/10/20


www.excel-downloads.com est un excellent site. C\'est eux qui me dépannent quand je bloque.
Effectivement =RECHERCHE(9^9;K:K) fonctionne même si je ne comprend pas pourquoi cette fonction arrive a trouvé la dernière valeur de la colonne même si elle n\'est pas la valeur max de la colonne ???

Je vais chercher

Par ailleurs j\'avais trouvé entre temps le moyen de lancer automatiquement la macro dès une modification de la cellule suivant la dernière non vide.

En boite perso je t\'ai donné mon e-mail, envoie moi ton fichier pour que je comprenne pourquoi la macro que je t\'ai proposé fonctionne chez moi et pas chez toi

Merci
Pégase

Moi, le jour où j'aurai vraiment mon âge, je mourrai (Léo Ferré).

Discussion trop ancienne

Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.

Nous vous suggérons de créer un nouveau message

« Retour sur la liste des messages de ce forum