Supprimer des colonnes vba
floker820
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
floker820 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
floker820 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je m'excuse par avance, je ne programme jamais.
Je souhaite écrire une macro qui scanne un fichier excel et supprime les colonnes ne comportant qu'une seule cellule non vide.
J'ai pour le moment écrit ce début de code:
Sub Suppcolvide()
Dim nbcol As String
Dim curseur As String
Dim nbcellnonvide As String
nbcol = NBVAL(Lines(1))
For curseur = nbcol To 1
nbcellnonvide = NBVAL(Columns(curseur))
If nbcellnonvide = 1 Then
Columns(curseur).Select
Selection.Delete Shift:=xlToLeft
End If
curseur = curseur - 1
Next curseur
End Sub
Sans surprise, ca ne fonctionne pas.
Je pense que mon problème vient de l'utilisation de la fonction qui s'utilise comme suit : NBVAL(A1:A100). Seulement, je ne connais pas a posteriori les colonnes à supprimer. Il faut donc que je les repères par une boucle. Si quelqu'un a une idée ou pourrais me dire comment passer une colonne en chiffre et vice versa.
Merci d'avance
Je m'excuse par avance, je ne programme jamais.
Je souhaite écrire une macro qui scanne un fichier excel et supprime les colonnes ne comportant qu'une seule cellule non vide.
J'ai pour le moment écrit ce début de code:
Sub Suppcolvide()
Dim nbcol As String
Dim curseur As String
Dim nbcellnonvide As String
nbcol = NBVAL(Lines(1))
For curseur = nbcol To 1
nbcellnonvide = NBVAL(Columns(curseur))
If nbcellnonvide = 1 Then
Columns(curseur).Select
Selection.Delete Shift:=xlToLeft
End If
curseur = curseur - 1
Next curseur
End Sub
Sans surprise, ca ne fonctionne pas.
Je pense que mon problème vient de l'utilisation de la fonction qui s'utilise comme suit : NBVAL(A1:A100). Seulement, je ne connais pas a posteriori les colonnes à supprimer. Il faut donc que je les repères par une boucle. Si quelqu'un a une idée ou pourrais me dire comment passer une colonne en chiffre et vice versa.
Merci d'avance
A voir également:
- Supprimer des colonnes vba
- Supprimer rond bleu whatsapp - Guide
- Comment faire des colonnes sur word - Guide
- Supprimer une page word - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Supprimer pub youtube - Accueil - Streaming
2 réponses
Bonjour,
un exemple de code:
un exemple de code:
Sub Suppcolvide()
Dim nbcol
Dim curseur
With Worksheets("feuil1")
'derniere colonne utilise ligne 1
nbcol = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
'boucle colonne de max a 1
For curseur = nbcol To 1 Step -1
'test cellules non vide par colonne
If Application.WorksheetFunction.CountA(.Columns(curseur)) = 1 Then
'delete colonne
.Columns(curseur).Delete Shift:=xlToLeft
End If
Next curseur
End With
End Sub