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 :

suppression de cellule vide


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut suppression de cellule vide
    bonjour à
    voila le probleme
    comme supprimer toutes les cellule vides située dans une colonne, puis on passe à la colonne suivante ('cela sur 10 colonne consecutive). en sachant que la suppression doit commencer de la derniere cellule non vide de la colonne concernéE.
    je precise aussi que la suppression doit ce faire colonne par colonne .

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Oscar.cesar,

    Un code à copier sur votre feuille qui devrait fonctionner :

    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
    Sub Supp_cel_vide()
    '1ère colonne de traitement (vous pouvez modifier)
    c1 = 2
    '1ère ligne de données (vous pouvez modifier)
    l1 = 2
     
    For c = c1 To c1 + 9
    dl = Range(Cells(65536, c), Cells(65536, c)).End(xlUp).Row
        For l = dl To l1 Step -1
        Range(Cells(l, c), Cells(l, c)).Select
            If ActiveCell.Value = "" Then
            Selection.Delete Shift:=xlUp
            End If
        Next l
    Next c
    End Sub

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut cellule vide
    merci de ta reponse
    je voudrais juste savoir si le code peut etre modifier pour partir de la premiere ligne L1 et non de la derniere comme je l'avais indique precedement.
    car je n'ai pas forcemment 65536 ligne à traiter.
    ou mieux peut on partir de la derniere cellule non vide de chaque colonne pour effacer les cellules vides

    le but c'est de limite le temps de traitement

    merci encore

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re Oscar.cesar,

    En fait on ne traite pas 65536 lignes.

    cette ligne sert à trouver la 1ère ligne non vide en remontant à partir de la dernière ligne possible (65536 jusqu'à la version 2003) et cela est très rapide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dl = Range(Cells(65536, c), Cells(65536, c)).End(xlUp).Row
    Par exemple si dans la colonne C la dernière ligne non vide est la 3226ème la variable "dl" va prendre la valeur 3226. Les lignes traitées seront donc de 3226 jusqu'à la valeur que vous aurez donné à la variable "l1" (par exemple 2).

    Par contre il y n'y a sûrement que cette solution.

    D'ailleurs l'une d'entre elles serait de trier les colonnes une par une par ordre décroissant, mais cela n'est faisable que si l'orde de vos données ne doit pas rester celui d'origine.

    Si c'est le cas vous pouvez utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Supp_cel_vides()
    '1ère colonne de traitement (vous pouvez modifier)
    c1 = 2
    '1ère ligne de données (vous pouvez modifier)
    l1 = 2
     
    For c = c1 To c1 + 9
    dl = Range(Cells(65536, c), Cells(65536, c)).End(xlUp).Row
    Range(Cells(l1, c1), Cells(dl, c)).Select
        Selection.Sort Key1:=Range(Cells(l1, c), Cells(l1, c)), Order1:=xlDescending, Header:=xlGuess, _
                OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Next c
    End Sub

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut vide
    bonsoir jacquesjean

    ok ca marche
    merci de tes explications

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

Discussions similaires

  1. Suppression de toutes les lignes avec cellule vide en colonne A
    Par Cyclemmanuel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2012, 19h43
  2. [XL-2000] Suppression ligne entière si cellule vide
    Par RAID14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/07/2010, 14h00
  3. Suppression de cellules vides
    Par Damss dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/03/2009, 19h41
  4. 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
  5. [XSL-FO] Table avec cellule vide
    Par JustAGphy dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 12/05/2004, 14h11

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