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 :

Optimisation Code - Dernière ligne de la feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 354
    Points : 417
    Points
    417
    Par défaut Optimisation Code - Dernière ligne de la feuille
    Une question me chiffone depuis le début d'après midi.
    Mon code fonctionne plutôt bien (niveau débutant à VBA, je précise ), mais je souhaiterais optimiser mon code.

    Je dois, à un moment donné, supprimer des lignes vides de ma feuille.

    ALGO :
    Je me positionne en fin de feuille (en "A65536"), et je remonte avec une boucle (Step -1) afin de supprimer les lignes vides.

    CODE :
    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
     
    Sub Test()
     Dim TempCell As Range
     Dim LignePrint As Integer
     Dim i As Integer
     
     Set TempCell = Sheets("toto").Range("A65536")
     LignePrint = TempCell.End(xlUp).Row
     
     For i = LignePrint To 1 Step -1
         If Cells(i, 1).Value = "" Then
             Rows(i).Delete xlUp
         End If
     Next i
    End Sub

    QUESTION : existe-t'il autre chose que d'utiliser ma cellule A65536 pour être à la fin de ma feuille ?

    Merci d'avance !

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Tu peux supprimer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set TempCell = Sheets("toto").Range("A65536")
    et directement inscrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LignePrint = Sheets("toto").Range("A65536").End(xlUp).Row
    tu peux également l'écrire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LignePrint = Sheets("toto").Cells(Rows.Count, 1).End(xlUp).Row
    tu peux également supprimer le xlUp inutile
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 354
    Points : 417
    Points
    417
    Par défaut
    Merci fring !
    Ça fonctionne très bien

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

Discussions similaires

  1. [XL-2007] Copier dernière ligne d'une feuille vers autre classeur fermer
    Par stephadm dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/04/2012, 11h13
  2. [XL-2003] Trouver la dernière ligne d'une feuille
    Par Taiby dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/02/2012, 13h39
  3. Réponses: 6
    Dernier message: 28/11/2009, 15h18
  4. Recherche de la dernière ligne en fonction d'un code en debut de colonne
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/08/2007, 16h01

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