cs_malika_i
Messages postés38Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention29 juin 2007
-
27 juin 2007 à 23:54
cs_malika_i
Messages postés38Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention29 juin 2007
-
28 juin 2007 à 00:23
Hello!
Je souhaite supprimer les colonnes vides dans mon fichier, voici mon code :
Dim col As Range
Dim nonblank As Long
Dim CompareInd As Worksheet
Set CompareInd = Sheets("Feuil1")
For Each col In CompareInd.UsedRange.Columns
nonblank = 0
With col
On Error Resume Next
nonblank = .SpecialCells(xlCellTypeFormulas).Cells.Count
nonblank = .SpecialCells(xlCellTypeConstants).Cells.Count
End With
If nonblank = 0 Then
col.EntireColumn.Delete
End If
Next col
Le pb est que ce code ne me supprime qu'une colonne vide entre 2 pleines, mais lorsque j'ai plusieurs colonnes vides, il ne m'en supprime qu'une seule...
Savez vous s'il faut que je mette une boucle, et comment
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 28 juin 2007 à 00:14
Tu pourrais commencer par la droite avec une boucle For Next simple
Sub SupprimeColonnesVides()
Dim I As Integer, nbColonnes As Integer
Dim Result As Long
'Trouver le nombre de colonnes utilisées dans la feuille
nbColonnes = Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column
For I = nbColonnes To 1 Step -1
'Calculer le nombre de valeurs dans la colonne
Result = Application.WorksheetFunction.CountA(Range(Cells(1, I), Cells(65536, I)))
If Result = 0 Then Columns(I).Delete
Next
End Sub