Macro suppression colonne si pas de valeurs

Bonjour.

J'ai un tableau avec un nombre de lignes variables (j'ai fait une macro pour ça).

Les cellules de ma colonne H ne sont pas toutes remplies, et de temps en temps, aucunes ne l'est.

Attention la ligne 1 est réservée aux titres.

J'aimerais que si toutes les cellules allant de H2 à Hx (avec x = la dernière ligne du tableau) sont vides, alors on supprime la colonne H.

Mais si une seule cellule est remplie avec du texte, alors on ne fait rien.

Merci pour votre aide.

Cordialement

Bonsoir

Sub SupprimeColonneH()
If Application.WorksheetFunction.CountA(Columns(8)) = 1 Then Columns(8).Delete
End Sub

Amicalement

Nad

Bonsoir Nad,

à donf dans les codes !

Sub SupprimeColonneH()
    If Application.CountA(Columns(8)) = 1 Then Columns(8).Delete
End Sub

çà marche aussi bien sans le .WorksheetFunction

Amicalement

Claude

Edit de Nad : j'essaye de m'y mettre sérieusement mais ce n'est pas évident parfois !

j'ai modifié votre code, j'obtiens ça maintenant :

With Sheets("TDC")
If Application.CountA(Range("H2:H" & Range("A65536").End(xlUp).Row)) = 1 Then Columns("H").Delete
End With

Mais ça ne fonctionne pas quelque soit le cas de figure (toutes les cellules sont vides, une seule cellule est remplie, toutes les cellules sont remplies par du texte).

La colonne H n'est jamais supprimée, je ne comprends pas pourquoi ?!

EDIT : J'ai oublié de préciser que la colonne n'est jamais remplie par des chiffres, elle l'est toujours par du texte.

Bonjour,

avec ton nouveau code, du compte à partir de la ligne 2

donc Counta (NBVAL) ne compte plus l'en-tête

remplace le =1 par =0

    With Sheets("TDC")
    If Application.CountA(Range("H2:H" & Range("A65536").End(xlUp).Row)) = 0 Then Columns("H").Delete
    End With

Amicalement

Claude

Rechercher des sujets similaires à "macro suppression colonne pas valeurs"