*macro condition suppression pr colonne vide [Résolu/Fermé]

Signaler
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
-
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
-
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'!

13 réponses

Messages postés
1479
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
372
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
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!
Messages postés
24052
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 mai 2021
6 768
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
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
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!!!!!
Messages postés
24052
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 mai 2021
6 768
Oui, tu as tout bon.
Bonne continuation
eric
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
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!
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
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!!
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
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?!
Messages postés
24052
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 mai 2021
6 768
ç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
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
mais mon fichier peut faire plus comme moins de ligne!

l'erreur est 1004...

HELP Eriic !!!
Messages postés
24052
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 mai 2021
6 768
et bien met 65536
Et pour l'erreur il faut mettre le libellé en plus du n°, c'est plus explicite
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
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!!
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
c'est bon problème résolu merci a tous !!

a bientot sur CCM!