Supprimer case vide/blanche sur colonnes multiples

Bonjour à tous,

Première fois que je n'arrive pas à trouver une solution à un problème sur ce forum, je me permets donc de poster ma question ...

Pour faire simple, j'ai un fichier avec plus de 90 colonnes, et je voudrais supprimer les blancs dans chaque colonne pour qu'il me reste uniquement les cases avec les données. J'ai mis en pièce-jointe un exemple pour faciliter la compréhension.

Merci d'avance et bonne journée à tous !

Robin

excel

Bonjour,

essayer ce code

Private Sub supp_cell_vides()
    Dim cell As Range, cellules_à_supprimer As Range
    Dim i As Integer

    On Error Resume Next
    With ActiveSheet.UsedRange
        For i = 1 To 3
            For Each cell In .Columns(i).SpecialCells(xlCellTypeBlanks)
                If cellules_à_supprimer Is Nothing Then Set cellules_à_supprimer = cell _
                Else Set cellules_à_supprimer = Union(cell, cellules_à_supprimer)
            Next cell
        Next i
    End With
    cellules_à_supprimer.Delete

End Sub

Bonjour Thev,

Merci de ton retour. cependant je m'y connais pas trop en VBA. Est-ce que tu pourrais mettre le code en admettant que le tableau que j'ai mis en exemple commence en A1, comme ça je pourrais comprendre la logique de chaque étape.

Merci de ton aide

J'ai réfléchi deux secondes et le "i" correspond aux colonnes. Le code fonctionne parfaitement !

Merci beaucoup !

Salut

Excellent le

ActiveSheet.UsedRange 

! je ne connaissais pas et c'est carrément utile ! et je ne savais pas qu'on pouvait delete des cellules comme ça

je n'ai pas retenté de le faire chez moi ce-soir, peut être que j'ai eu un bug, dans des autres dispositions des lettres cela fait par contre le résultat attendu

Une autre solution toute bête sinon si jamais quelqu'un recherche la même chose : Faire un simple tri croissant de base excel, toute les case vide vont forcément au fond du tableau mais du coup cela tri les valeurs ..... ^^... mais pour toi c'était pas un problème il me semble

ECG

Bonsoir ECG,

Ta remarque est tout à fait pertinente. En fait, il faut préciser que la suppression se fait verticalement : Delete (xlShiftUp),sinon par défaut il peut utiliser une suppression horizontale.

ci-dessous correction :

 Sub supp_cell_vides()
    Dim cell As Range, cellules_à_supprimer As Range

    On Error Resume Next
    With ActiveSheet.UsedRange
        For i = 1 To 3
            For Each cell In .Columns(i).SpecialCells(xlCellTypeBlanks)
                If cellules_à_supprimer Is Nothing Then Set cellules_à_supprimer = cell _
                Else Set cellules_à_supprimer = Union(cell, cellules_à_supprimer)
            Next cell
        Next i
    End With
    cellules_à_supprimer.Delete (xlShiftUp)

End Sub

Vraiment utile cette fonction/ligne de code, jusqu’à maintenant j'aurais dis que c'était impossible de le faire comme

Rechercher des sujets similaires à "supprimer case vide blanche colonnes multiples"