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 vide d'une plage de cellule [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 41
    Points : 36
    Points
    36
    Par défaut Sélectionner la dernière cellule vide d'une plage de cellule
    Bonjour,

    Je souhaite sélectionner la dernière ligne vide d'une plage de cellule.
    Je sais que pour sélectionner la dernière ligne d'un tableau il y a la ligne de code suivante, mais je n'arrive pas à l'adapter à une plage de cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NumDernLigne = Range("a" & Rows.Count).End(xlUp).Row
     NumDernLigne = NumDernLigne + 1
    En fait, en fonction de mon résultat précédent, je devrais afficher le résultat soit sur la dernière cellule vide de la plage a1:a20 soit sur la dernière cellule vide de la plage a21:a30.

    Je vous remercie par avance !
    Cordialement

    Et bonnes fêtes !!
    http://toutgif.free.fr ====>gifs animés, smileys, avatars, fond d'écran, le jeu les sims.....

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    dans ton cas "NumDernLigne" te donne la 1ère cellule vide et non la dernière, essaies ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub essai()
    Dim NumDernLigne As Integer
    NumDernLigne = Range("a" & Rows.Count).End(xlUp).Row
    NumDernLigne = NumDernLigne + 1
    MsgBox NumDernLigne
    NumDernLigne = Range("a1").End(xlDown).Row
    NumDernLigne = NumDernLigne + 1
    MsgBox NumDernLigne
    NumDernLigne = Range("a20").End(xlDown).Row
    NumDernLigne = NumDernLigne + 1
    MsgBox NumDernLigne
    End Sub
    ou ça, si je comprends mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim NumDernLigne As Integer
    Dim cel As Range
    For Each cel In Range("a20:a28")
      If IsEmpty(cel) Then NumDernLigne = cel.Row
    Next cel
    MsgBox NumDernLigne
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 41
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Merci pour le code ci dessus.

    j'ai donc essayé. Il fonctionne bien pour la première partie de mon code à savoir pour la plage a1:a19.
    Il me renvoie bien la dernière ligne vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NumDernLigne = Range("a1").End(xlDown).Row
    NumDernLigne = NumDernLigne + 1
    Par contre, pour la plage a20:aXX, j'ai un dépassement de capacité !
    erreur d'exécution 6
    Dépassement de capacité !

    Par contre, si je mets quelque chose dans la cellule, mettons A35 cela fonctionne.
    Le fait de descendre à la fin de la feuille fait planter mon code.
    Que puis je faire ?

    Merci
    Cordialement
    http://toutgif.free.fr ====>gifs animés, smileys, avatars, fond d'écran, le jeu les sims.....

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    il faudrait un peu plus d'explications, quel est, plus précisément, ton but ?, comment est structuré ton fichier ?, nombre de lignes ?, que cherches-tu exactement ?
    J'avais proposé le code ci-dessous, n'est-il pas adaptable ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim NumDernLigne As Integer
    Dim cel As Range
    For Each cel In Range("a20:a28")'plage choisie
      If IsEmpty(cel) Then NumDernLigne = cel.Row
    Next cel
    MsgBox NumDernLigne
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 41
    Points : 36
    Points
    36
    Par défaut
    Merci
    J'ai adapté mon code.
    Tu m'as donné une bonne piste.
    Je te remercie.

    Et vous souhaites de joyeux fêtes !
    ++
    kiss
    http://toutgif.free.fr ====>gifs animés, smileys, avatars, fond d'écran, le jeu les sims.....

  6. #6
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,


    Personnellement j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dern_l = Cells.End(xlDown).Row
    et j'ai pas de soucis de dépassement de capacité

    A+
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Nommer une plage de cellule par rapport à une valeur de cellule
    Par Bklein51 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/12/2014, 15h28
  2. Réponses: 1
    Dernier message: 21/04/2014, 10h39
  3. [XL-2007] Filtrer cellules vides d'une plage dynamique
    Par OutilSUiVi dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/07/2012, 10h18
  4. [XL-2010] Supprimer les cellules vides d'une plage aléatoire et décaler à gauche
    Par ketum88 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/08/2011, 18h36
  5. suppression cellule vide dans une plage ?
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/10/2007, 15h01

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