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 :

[excel]comment supprimer une colonne vide...


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de Mugette
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 194
    Points : 80
    Points
    80
    Par défaut [excel]comment supprimer une colonne vide...
    J'ai un tableau excel qui est généré par une macro.
    Cepmendant dans ce tableur j'ai de colonnes vides, je voudrais savoir comment scanner les cellules de la premiere ligne et supprimer les colonnes dont la premiere cellule est vide

    Je sais que pour supprimer c'est un truc comme ca,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Delete Shift:=xlToLeft

  2. #2
    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
    Essaie un truc dans ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub test()
        DerniereColonne = ActiveCell.SpecialCells(xlLastCell).Column
     
        For i = 1 To DerniereColonne
            If Cells(1, i).Value = "" Then
                Cells(1, i).EntireColumn.Delete Shift:=xlToLeft
     
            End If
        Next i
     
    End Sub
    Tu parcours les cellules de la ligne 1 jusqu'à la dernière cellule à droite, et si cette cellule est vide, la colonne complète est supprimée.

  3. #3
    Membre régulier Avatar de Mugette
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 194
    Points : 80
    Points
    80
    Par défaut
    ouais ca marche presque il m'en oubli quelques une, je sais pas pourquoi...
    merci

  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
    Je crois que je sais: c(est quand il y en a 2 consécutives.
    Par exemple, les colonnes 7 et 8 sont vides: au moment où l'indice i vaut 7, il supprime la colonne 7. L'ancienne colonne 8, vide, devient alors la colonne 7, mais l'indice passe à 8, et c'est la nouvelle colonne 8 qui est vérifiée: bref, on en a raté une !!!
    Je regarde comment on peut modifer ça...

  5. #5
    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
    Ok, j'ai un truc qui a l'air mieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub test()
        DerniereColonne = Range("Z1").End(xlToLeft).Column
     
        For i = 1 To DerniereColonne
            If Cells(1, i).Value = "" Then
                Cells(1, i).EntireColumn.Delete Shift:=xlToLeft
                DerniereColonneEnCours = Range("Z1").End(xlToLeft).Column
                If i >= DerniereColonneEnCours Then Exit Sub
                i = i - 1
            End If
        Next i
     
    End Sub

Discussions similaires

  1. [VBA] Comment supprimer une ligne entiere dans excel
    Par babouoles dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/07/2017, 09h34
  2. REP env - comment supprimer une colonne sur ASE primaire?
    Par vinceroi dans le forum Réplications
    Réponses: 3
    Dernier message: 18/01/2012, 20h47
  3. Réponses: 9
    Dernier message: 17/02/2009, 19h48
  4. export -> excel avec insertion d'une colonne vide
    Par Gary_Stoupy dans le forum Access
    Réponses: 5
    Dernier message: 16/01/2007, 12h11
  5. [VBA-Excel]Supprimer une colonne entiere basee sur une cellule
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2006, 23h08

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