*macro condition suppression pr colonne vide

Résolu/Fermé
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 20 août 2008 à 12:34
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 20 août 2008 à 16:15
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 1479 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 401
20 août 2008 à 12:56
-1
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
20 août 2008 à 13:46
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
20 août 2008 à 13:58
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 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
20 août 2008 à 14:06
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
20 août 2008 à 14:09
Oui, tu as tout bon.
Bonne continuation
eric
-1
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
20 août 2008 à 14:20
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 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
20 août 2008 à 14:26
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 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
20 août 2008 à 14:37
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
20 août 2008 à 15:16
ç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 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
20 août 2008 à 15:20
mais mon fichier peut faire plus comme moins de ligne!

l'erreur est 1004...

HELP Eriic !!!
-1
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
20 août 2008 à 15:31
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 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
20 août 2008 à 15:36
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 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
20 août 2008 à 16:15
c'est bon problème résolu merci a tous !!

a bientot sur CCM!
-1