incrémentation des lettres

seb44tkt

XLDnaute Nouveau
Bonjour,

Pouvez vous m'aider svp?
Je recherche à faire quelque chose de plutot simple mais je perd pied :(
Je m'explique :
en A1 je n'ai rien, en B1 j'ai X, en C1 je n'ai rien, en D1 j'ai X.
Je voudrai que mes colonnes où je n'ai rien soient supprimées.
Pour le faire en ligne, il n'y a pas de problème mais en colonne, je ne sais pas comment incrémenter les lettres.

Voici ce que je ferrai si le problème était en ligne :
en A1 je n'ai rien, en A2 j'ai X, En A3 je n'ai rien, en A4 j'ai X.

ligne=1
While ("A" & ligne) = "A10"
If Range("A" & ligne) = "" Then
Rows("ligne:ligne").Select
Selection.Delete Shift:=xlUp
End If
ligne=ligne+1
Wend

J'espère être clair...
Merci de votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : incrémentation des lettres

Bonjour,

essaye ceci :
Code:
Dim i As Long
For i = Cells(1, Columns.Count).End(xlToLeft).Column To 1 Step -1
    If IsEmpty(Cells(1, i)) Then Columns(i).Delete
Next i
bonne journée
@+

Edition : bonjour francedemo
 
C

Compte Supprimé 979

Guest
Re : incrémentation des lettres

Salut Seb44tkt ;)

Tu peux faire un truc du style
VB:
Sub Test()
  Dim Col As Integer, DCol As Integer
  ' Si tes entêtes de tableau sont usr la ligne 1
  ' Permet de trouver la dernière colonne de ton tableau
  DCol = Cells(1, Columns.Count).End(xlToLeft).Column
  ' For Col = DCol To 1
  ' Sinon en faisant simple
  For Col = 4 To 1
    ' Si la cellule de la ligne 1 et ce la colonne Col est vide
    If Cells(1, Col) = "" Then
      ' On supprimer la colonne entière
      Cells(1, Col).EntireColumn.Delete
    End If
  Next Col
End Sub

Edit : oups .. bonjour à tous ;)

A+
 
G

Guest

Guest
Re : incrémentation des lettres

Bonjour,

Hello tout le monde:D

Puisque c'est fait:
Code:
Sub SupprCol()
    Dim Col As Long
    'boucler sur  les colonnes 1 à 10 en testant la cellule de la ligne 1
    For Col = 1 To 10
        If IsEmpty(Cells(1, Col)) Then Columns(Col).Delete
    Next
End Sub
Sub SupprCol2()
'Plus rapide sur de nombreuses colonnes
    Dim plg As Range
    On Error Resume Next    'au cas où specialCells ne trouverait pas de cellules vide
    'Sélectionner les cellules vides de la ligne 1 colonne 1 à 10
    Set plg = Range(Cells(1, 1), Cells(1, 10)).SpecialCells(xlCellTypeBlanks)
    'Si des cellules vides ont été trouvées en ligne 1
    If Not plg Is Nothing Then plg.EntireColumn.Delete
End Sub

Tu as l'embarras du choix.
A+
 

Discussions similaires

Réponses
2
Affichages
147
Réponses
1
Affichages
240

Statistiques des forums

Discussions
312 177
Messages
2 085 973
Membres
103 073
dernier inscrit
MSCHOE16