IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Sélectionner la dernière cellule d'une suite de cellules continues


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif
    Inscrit en
    Février 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Février 2014
    Messages : 77
    Points : 28
    Points
    28
    Par défaut Sélectionner la dernière cellule d'une suite de cellules continues
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Macro()
     
    'B4:B6 cellules continues non vides'
        Range("B4").Select
        Selection.End(xlDown).Select 'cellule B6 sélectionnée'
     
     
    'Seul B9 est remplie'
        Range("B9").Select
        Selection.End(xlDown).Select 'cellule B12 sélectionnée'
     
     
        'B12:B14 cellules continues non vides'
        Range("B12").Select
        Selection.End(xlDown).Select 'cellule B14 sélectionnée
     
    End Sub

    Bonjour,

    Dans l’exemple ci-dessus, je souhaite sélectionner la dernière cellule remplie, d’une suite de cellules non vides en continu.
    Cependant, lorsqu’une seule cellule est remplie, je veux que si la cellule suivante n’est pas remplie, reste sur la cellule remplie, c’est-à-dire la cellule B9 dans le cas exposé ci-dessus. Or, dans la macro, on passe de B9 à B12.

    Je ne vois pas comment rédiger une telle macro.

    Suis-je assez clair ? Quelqu’un peut-il m’aider ?

    Vous en remerciant par avance.

    Cordialement.

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut TEster
    Bonjour.

    Tu peux tester si la cellule suivante est vide. Ce n'est pas très joli, mais ici cela donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsEmpty(Range("B10").Value) Then Selection.End(xlDown).Select
    Cordialement,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif
    Inscrit en
    Février 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Février 2014
    Messages : 77
    Points : 28
    Points
    28
    Par défaut Tester que la cellule suivante active est vide
    Bonjour,

    Comment modifier ta syntaxe, car ce qui me dérange, c'est que tu précise la cellule B10.
    Je préférais tester sur la cellule suivante, car B10 était un exemple. Ça peut être une autre cellule.

    En clair, remplacer Range("B10") par en language VBA cellule suivante.

    Je ne suis pas très fort, quand il s'agit de modifier une partie du code VBA.
    Je te remercie de ton aide.

    Cordialement.

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour,

    voir par exemple du côté de la propriété Offset

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …





    En fait, la meilleure solution est d'utiliser la propriété CurrentRegion :

    dans le cas d'une saisie unique, la dernière cellule saisie est forcément cette saisie unique !

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif
    Inscrit en
    Février 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Février 2014
    Messages : 77
    Points : 28
    Points
    28
    Par défaut Sélectionner la dernière cellule continue
    Bonjour,

    Ou remplacer Range("B10").Value par ActiveCell ?
    Ou remplacer Selection.End(xlDown).Select par Offset(0,0).Select ?
    Pour que le code de la macro fonctionne ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsEmpty(Range("B10").Value) Then Selection.End(xlDown).Select
    .Value concerne un nombre (pour du texte, que convient le mieux)

    Vous en remerciant par avance.

    Cordialement.

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Logiquement en suivant l'aide VBA c'est inutile !

    Donc dans le doute d'une présentation incomplète, joindre un fichier représentatif et sans macro
    tout en l'accompagnant d'explications ne laissant pas libre cours à de l'interprétation,
    bref, une présentation claire et exhaustive comme il se doit dès le premier message !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. [XL-2007] InputBox pour sélectionner cellule ou une plage de cellules dans une feuille.
    Par Nonno 94 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/02/2014, 19h01
  2. [XL-2003] trouver la dernière cellule d'une plage de cellules non contigues.
    Par henripec dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/09/2009, 01h16
  3. Réponses: 0
    Dernier message: 17/02/2009, 16h13
  4. [Excel/VBA] Requete SQL avec clause sur une suite de Cellule
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/02/2007, 17h36
  5. Selection d'une suite de cellules avec cells
    Par olivier857 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/12/2006, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo