selectionner la cellule juste en dessous de la derniere non vide

anthony_unac

XLDnaute Junior
Bonjour,

Je souhaite à l'aide d'une macro selectionner la cellule juste en dessous de la derniere cellule non vide d'une colonne donnée.

Exemple sur la colonne B :
********************

En faisant ceci :

Code:
Cells(65536, 2).End(xlUp)

Je sélectionne la derniere cellule non vide de la colonne B mais comment selectionner celle juste en dessous ?

Cordialement
Anthony
 

laetitia90

XLDnaute Barbatruc
Re : selectionner la cellule juste en dessous de la derniere non vide

bonjour anthony Jean-Marcel

on peut ecrire comme cela aussi plus court

Code:
Cells(65536, 2).End(xlUp)(2).Select

ou

Code:
Cells(Rows.Count, 2).End(xlUp)(2).Select

marcheras avec excel 2007 plus de 65536 lignes
 

Staple1600

XLDnaute Barbatruc
Re : selectionner la cellule juste en dessous de la derniere non vide

Bonjour à tous


On peut aussi l'écrire ainsi ( si et seulement si on a une seule colonne de données)
(mais vaut mieux pas, car le péril est grand dans ce cas , très grand )

VB:
Sub a()
Columns(2).SpecialCells(11)(2).Select
End Sub

PS: pourquoi 11 me direz-vous ?
A ceci je répondrai : ALT+F11 puis F1
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : selectionner la cellule juste en dessous de la derniere non vide

rebonjour;
pour l'ami Staple code intéressant mais trop dangereux a utiliser comme tu le dis si bien
en detaillant pour anthony si on reduit la plage aprés lancement de la macro tu relance la macro tu selectionneras toujours l'ancienne cellule c'est comme cela???.D'ailleurs j'ai jamais bien compris pourquoi?? cela vient t'il de
Code:
SpecialCells
mystére si l'ami Staple avait une explication elle serait la bien venue
il m'arrive de l'ecrire comme cela aussi assez sympa !!!

Code:
[b1].Offset(Cells.Find("*", , , , , xlPrevious).Row).Select
 

Staple1600

XLDnaute Barbatruc
Re : selectionner la cellule juste en dessous de la derniere non vide

Re, bonjour MJ13


Bien Laetitia90, plongeons alors dans le passé, en 1998 exactement
(XLD n'existait pas mais déjà Excel et moi formions un couple et main dans la main , nous surfions sur le web pour chercher à mieux nous connaitre
Enfin c'est surtout moi qui cherchait à connaitre tout sur mon partenaire à cellules)

Voici la première source où je commença à découvrir tout ce qu'avait à m'offrir ce tableur que j'affectionne tant.

Lastcell, Reset Last Used Cell

(Tu remarqueras que la charte graphique est toujours digne de 1998
Ah cette année là, j'étais en RTC chez Club Internet pour 77 francs/mois et je surfais avec Netscape ...)
 

Staple1600

XLDnaute Barbatruc
Re : selectionner la cellule juste en dessous de la derniere non vide

Re

Le prix du forfait, c'était une chose...
mais j'ose même pas évoqué le modem que j'avais à l'époque...
Un 28 Kbps (qui marche encore d'ailleurs)
Mais à l'époque y avait pas tout ce multimédia...

Bref pour rester dans le sujet: xlLastCell est fortement déconseillé d'emploi.

Et les autres méthodes proposées sont préférables d'emploi.

Juste une petite question, anthony
Maintenant qu'on a sélectionner cette première cellule vide de ta colonne , on fait quoi avec ?

EDITION
: Anthony : merci pour les précisions
 
Dernière édition:

anthony_unac

XLDnaute Junior
Re : selectionner la cellule juste en dessous de la derniere non vide

Bonjour,

Merci a tous pour vos réponses je vais essayer tout ca :)

Le but de la manœuvre ici est d'alimenter une liste de fournisseur à l'aide d'un bouton "+".
Quand l'opérateur veut ajouter un nouveau fournisseur, il appuie sur le bouton "+" et la une InputBox s'ouvre en demandant à l'opérateur d'écrire le nom du nouveau fournisseur (à ajouter à la liste).
Je récupère ainsi la saisi de l'opérateur et je l'inscris dans la cellule juste en dessous de la dernière cellule non vide de la colonne "Fournisseurs".

Cordialement
Anthony
 

anthony_unac

XLDnaute Junior
Re : selectionner la cellule juste en dessous de la derniere non vide

Pour ceux que ça intéresse voici la macro finale :

Code:
Sub Image84_QuandClic()

Dim Exp As String, Dst As String

    Exp = InputBox("Bonjour, veuillez écrire le nom du nouvel expéditeur ne figurant pas dans la liste :")
    If Exp = "" Then
      MsgBox "Aucun expéditeur saisi, sortie de l'application"
      Application.Quit
    End If
    
    'ajouter dans la colonne P le nouvel expéditeur Pfinale=Exp
    Cells(65536, 16).End(xlUp)(2) = Exp
    
    Dst = InputBox("veuillez préciser le destinataire parmis les quatre choix suivant : SAV, DISQUE, LIVRE, ADMINISTRATION :")
    If Dst = "" Then
      MsgBox "Aucun destinataire saisi, sortie de l'application"
      Application.Quit
    End If

    If Dst = "SAV" Then
    'ajouter dans la colonne U le nouvel expéditeur Ufinal=Exp
    Cells(65536, 21).End(xlUp)(2) = Exp
    End If
    
    If Dst = "DISQUE" Then
    'ajouter dans la colonne V le nouvel expéditeur Vfinal=Exp
    Cells(65536, 22).End(xlUp)(2) = Exp
    End If
    
    If Dst = "LIVRE" Then
    'ajouter dans la colonne W le nouvel expéditeur Wfinal=Exp
    Cells(65536, 23).End(xlUp)(2) = Exp
    End If
    
    If Dst = "ADMINISTRATION" Then
    'ajouter dans la colonne X le nouvel expéditeur Xfinal=Exp
    Cells(65536, 24).End(xlUp)(2) = Exp
    End If
    
End Sub

Cordialement
Anthony
 

Discussions similaires

Statistiques des forums

Discussions
312 584
Messages
2 089 965
Membres
104 319
dernier inscrit
J-LZ