*macro condition suppression pr colonne vide

Résolu
tony020422 Messages postés 460 Statut Membre -  
tony020422 Messages postés 460 Statut Membre -
Bonjour Membres de CCM,

J'aimerais que vous m'aidiez pour ma macro Excel déjà réalisée....
J'aimerais la compléter de la facon suivante:
Mettre le code permettant de supprimer les colonnes blanches (vides en fait) !
donc mettre une condition: vérifier le contenu des colonnes, si elles sont entièrement vides, les supprimer..

(car lors de l'extraction de mes données de SAP vers Excel, il se génère aléatoirement des colonnes blanches un peu partout, mais jamais au meme endroit...j'aimerais dnons toutes les supprimer, pour que le reste de ma macro s'applique nikel)

Merci par avance à tous ceux qui prendront la peine de m'aider!!

Bonne journée et bon ap'!
A voir également:

13 réponses

BloodyAngel Messages postés 1605 Statut Contributeur 403
 
-1
tony020422 Messages postés 460 Statut Membre 6
 
Merci!

Le code est le suivant:

Sub sup_col_vides()
Dim c
For c = 256 To 1 Step -1
If Cells(65536, c).End(xlUp).Row = 1 Then Cells(1,c).EntireColumn.Delete
Next c
End Sub

Etant une superbe buse en programmation VBA, pourrais tu m'indiquez ce que représente 256 et 6556 ?!

Merci!
-1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
Bonjour,

256 est le nombre de colonnes (sur excel 2003) et 65536 le nombre de lignes.
Il faudra augmenter ces valeurs sur excel 2007.
Petite précision, cette macro te supprimera la colonne même si la cellule de la ligne 1 n'est pas vide, à toi de voir si c'est genant ou pas.
eric
-1
tony020422 Messages postés 460 Statut Membre 6
 
bonjour eriic,
en fait les colonnes sont INTEGRALEMENT vides donc c'est pas un souci car je veux toutes les enlevées!!

Mon fichier excel a une taille variable, les colonnes vont de A à Y maxi
mes lignes sont au nombres de 50 000 maxi...

Je mieux fais de mettre quoi alors?

Sub sup_col_vides()
Dim c
For c = 30 To 1 Step -1
If Cells(100000, c).End(xlUp).Row = 1 Then Cells(1,c).EntireColumn.Delete
Next c
End Sub

Dernier truc j'aimerais si possible incruster ca dans ma macro existante: me reste à enlever le "Sub sup_col_vides() "
et le "End Sub " et utiliser ceux de ma macros c'est ca ?!

Merci par avance!!!!!
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
Oui, tu as tout bon.
Bonne continuation
eric
-1
tony020422 Messages postés 460 Statut Membre 6
 
eriic, je viens de lancer ma macro mais il se passe pas ce que je veux!!
je vais te faire un schéma pour comprendre!
-1
tony020422 Messages postés 460 Statut Membre 6
 
Tu trouveras ici mon fichier tel qu'il est (en haut a gauche) et tel qu'il est a la fin ( en bas a gauche)
http://images.imagehotel.net/?knpn4l1tn4.png
mais je pense savoir pourquoi ca marche pas !
mon anicenne macro supprimée certaine colonnes donc la ca décale tout!

Je vais tout refaire je pense...
Je te tiens au courant mais je pense que ca va marcher!!

Merci bcp en tout cas, vraiment!!
-1
tony020422 Messages postés 460 Statut Membre 6
 
désolé mais ca ne marche pas!

j'ai une erreur du débogueur:
If Cells(100000, c).End(xlUp).Row = 1 Then

pourquoi?!
-1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
ça ne marche pas ne veut rien dire... il faut fournir le message d'erreur.
En l'occurence le nombre de ligne étant de 65536 tu ne peux aller au delà.
Remplace 100000 par 10000
-1
tony020422 Messages postés 460 Statut Membre 6
 
mais mon fichier peut faire plus comme moins de ligne!

l'erreur est 1004...

HELP Eriic !!!
-1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
et bien met 65536
Et pour l'erreur il faut mettre le libellé en plus du n°, c'est plus explicite
-1
tony020422 Messages postés 460 Statut Membre 6
 
en effet j'ai plu d'erreur mais cela ne me supprime que ma colonne A, pas les colonnes M N et O ........ pourquoi ?!

Ps: le contenu de post n°2 etait l'exemple tel que je l'ai trouvé donc san référence a mon tableau qui pourrait faire plu de 65536 lignes!!
-1
tony020422 Messages postés 460 Statut Membre 6
 
c'est bon problème résolu merci a tous !!

a bientot sur CCM!
-1