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 :

[VBA-E]supprimer des cellules vide


Sujet :

Macros et VBA Excel

  1. #1
    Expert éminent Avatar de garn
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Janvier 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 487
    Points : 6 032
    Points
    6 032
    Par défaut [VBA-E]supprimer des cellules vide
    bonjour, j'essaye de trouver un code a appliquer a un bouton macro mais en debutant en vba c'est pas évident :o

    Mon probleme est le suivant : j'ai une feuille excel avec des cellules vides et d'autres pleines, qui changent suivant les cas ( un import a partir d'access + une formule, donc par exemple la cellule B1 peut etre vide un moment et non vide pour un autre cas . Et j'aimerais faire une macro generique )

    Comment supprimer uniquement les cellules vide - en decalant vers le haut - comme si on le faisait a la main mais par instruction conditionnelle type " si la cellule B2 est vide alors la supprimer en decalant les cellules vers le haut "

    le but etant donc de ne pas avoir de " blancs " dans mes colonnes pour gagner de la place ( a la base j'ai des doublons parfois, qui sont eliminés par une formule toute bete. la cellule est donc vide. Mais impossible de trouver comment la supprimer par macro )

    je pense qu'on peut appliquer un truc genre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveSheet.Colums("B").Cells.SpecialCells(xlCellTypeBlanks) Is Null Then
    mais quoi mettre apres le then

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks).Delete xlUp

  3. #3
    Expert éminent Avatar de garn
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Janvier 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 487
    Points : 6 032
    Points
    6 032
    Par défaut
    merci ^^

    Par contre apres essai , ca ne fonctionne pas puisqu'en fait apparemment les cellules que je veux supprimer ne sont pas "vides" mais dependent d'une formule
    par ex : SI(A8=A7;"";import!C7)
    et bien sur la cellule est dans le cas du ""

    j'ai cherché dans l'aide vb les differents types de XlCellType mais j'en ai trouvé aucun qui correspond >_<

    xlCellTypeAllFormatConditions. Cells of any format
    xlCellTypeAllValidation. Cells having validation criteria
    xlCellTypeBlanks. Empty cells
    xlCellTypeComments. Cells containing notes
    xlCellTypeConstants. Cells containing constants
    xlCellTypeFormulas. Cells containing formulas
    xlCellTypeLastCell. The last cell in the used range
    xlCellTypeSameFormatConditions. Cells having the same format
    xlCellTypeSameValidation. Cells having the same validation criteria
    xlCellTypeVisible. All visible cells

  4. #4
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Ben...?
    Et si tu fais juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveSheet.Colums("B").Cells.SpecialCells(xlCellTypeBlanks).Value = "" Then...

  5. #5
    Expert éminent Avatar de garn
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Janvier 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 487
    Points : 6 032
    Points
    6 032
    Par défaut
    Citation Envoyé par Megaxel
    Ben...?
    Et si tu fais juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveSheet.Colums("B").Cells.SpecialCells(xlCellTypeBlanks).Value = "" Then...
    "object doesn't support this property or method "

  6. #6
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    D'accord. Et si tu fais un truc comme ça, alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
        Dim Cellule As Range
        For Each Cellule In ActiveSheet.Range("B1:B10")
            If Cellule Is Nothing Or Cellule.Value = "" Then
                Cellule.Delete xlUp
            End If
        Next Cellule
    End Sub
    Ça ne marche pas mieux? (le B10 est un peu limitant, il faut aller jusqu'à la dernière ligne de la colonne, bien sûr...)

  7. #7
    Expert éminent Avatar de garn
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Janvier 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 487
    Points : 6 032
    Points
    6 032
    Par défaut
    beh ca marche bcp mieux, merci ^^

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

Discussions similaires

  1. [XL-2003] Supprimer des cellules vides dans une colonne
    Par floctc dans le forum Excel
    Réponses: 6
    Dernier message: 08/12/2009, 13h32
  2. [VBA-E] Comment faire une boucle lorsqu'il y a des cellules vides
    Par Annick.w dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/02/2007, 22h39
  3. [VBA-E]Remplir des cellules vides par des 0
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/03/2006, 13h58
  4. Supprimé des éléments vide d'un tableau
    Par shinux2004 dans le forum Langage
    Réponses: 4
    Dernier message: 04/07/2005, 19h40
  5. Problemes avec des cellules vides
    Par arsgunner dans le forum ASP
    Réponses: 7
    Dernier message: 14/06/2004, 08h42

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