Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : VBA / Suppression d'une colonne si sa somme est nulle [ Divers / General ] (Oldevi)

jeudi 4 décembre 2008 à 16:05:19 | VBA / Suppression d'une colonne si sa somme est nulle

Oldevi

Bonjour,

Je voudrais supprimer des colonnes sur une plage donnees si la somme des cellules qui la compose est nulle.

J'ai tente ca

For Each Column In Range("A:K")
    If Application.Sum(EntireColumn) = 0 Then EntireColumn.Delete Shift:=xlToLeft
Next Column

Mais ca ne fonctionne pas, pas de bug, mais ca ne fait rien.


Merci d'avance !!

jeudi 4 décembre 2008 à 17:00:44 | Re : VBA / Suppression d'une colonne si sa somme est nulle

vinou19

bonsoir oldevi,

Je m'occupe de vous répondre dès demain.

Mais à mon avis, la réponse est dans : "faire systématiquement une sélection de quelque chose avant de tenter une action".
Et il n'y a pas de sélection dans votre essai

Cordialement, vinou19

jeudi 4 décembre 2008 à 17:08:47 | Re : VBA / Suppression d'une colonne si sa somme est nulle

Oldevi

Merci Vinoul pour votre reponse,

Je rectifie, ca ne fait pas rien, en fait ca supprime les colonnes concernees sans tenir compte de la somme.

Cdt,

oldevi

vendredi 5 décembre 2008 à 13:24:12 | solution : VBA / Suppression d'une colonne si sa somme est nulle

vinou19

Réponse acceptée !
salut oldevi,

Voici ce que je peux te répondre sur ta question au sujet de la suppression des colonnes nulles.

 

Tout d'abord, je déconseille absolument de déterminer une zone d'application sous la forme Range ("A:K"), c'est trop statique et surtout trop aléatoire si on a besoin d'insérer ou de supprimer une colonne dans cette plage par exemple, ça fausse tout.

Dans la plupart des cas de figure, il vaut mieux travailler sur une zone nommée ou sur la zone en cours.

 

Ensuite, il ne faut pas confondre ce qui suit : "entirecolumn" est une propriété qui s'applique sur un objet "range" et non un objet sur lequel on peut travailler.

 

De plus, il ne faut jamais oublier qu'avant d'entreprendre une action, il faut SELECTIONNER l'élément sur lequel s'applique cette action.

 

Voici 2 exemples qui fonctionnent :

 

'cas1 : zone nommée ("zone_dapplication")

Sub SUPRESSION_COLONNE()

For Each Column In Range("zone_dapplication")

Column.EntireColumn.Select

If Application.Sum(Selection) = 0 Then Selection.Delete shift:=xlToLeft

Next Column

End Sub

 

'cas2 : zone en cours

Sub SUPRESSION_COLONNE()

Range("A1").Select

For Each Column in Selection.CurrentRegion

Column.EntireColumn.Select

If Application.Sum(Selection) = 0 Then Selection.Delete shift:=xlToLeft

Next Column

End Sub

 

Voilà, j'espère avoir à peu près répondu à ta question,

 

Bon courage, vinou19

vendredi 5 décembre 2008 à 23:48:00 | Re : VBA / Suppression d'une colonne si sa somme est nulle

Oldevi

Merci beaucoup Vinou,

J'avais tente ca qui marchait a peu pres (bizarrement il oubliait des colonnes, peut etre pour la raison que tu cites plus haut)
   
   Dim col as range

    For Each Col In Range("G1:AP1")
    If Application.Sum(Col.EntireColumn) < 1 Then Col.EntireColumn.Delete shift:=xlToLeft
    Next Col

Bon WE !



Cette discussion est classé dans : vba, colonne, suppression, somme, nulle


Répondre à ce message

Sujets en rapport avec ce message

Importation d'un fichier Excel sous access avec VBA [ par Cassidy ] OK, je sais utiliser l'assistant d'importation de feuilles de calcul, mais ce que je voudrais c'est pouvoir faire la même chose en vba.Au pire, je sai VBA EXCEL TABLEAU CROISEE DYNAMIQUES [ par vince ] QLQn saurait il comment inserer des formules, soit manuellement soit en programmant, sur un tableau croise dynamique qdont les calculs font references base de données [ par IG ] SalutDans une base de données j'ai une colonne "suppression" et je cherche un code pour supprimer tous les enregistrements qui ont un "1" dans cette c somme de sheet vba excel [ par Guinness ] bonjour,je desire chreer une sheet qui fera la somme de toutes mes autres sheets identique dans un document excellsachant que le nombre de sheet n'est transposer une ligne en colonne en vba [ par MrPom ] Bonjour,J'aimerai transposer mes données constituées en lignes dans la colonne A. J'aimerai réaliser la transposer uniquement de la ligne sélectionnée Macro excel en vba [ par fernand22fr ] >Bonjour,je voudrais savoir si il existe une commande qui me permettrais de ranger une colonne pas ordre alphabetique.En fait ce qui m arrangerais ce Format d'une colonne d'un flexgrid[VBA] [ par scarface2 ] Bonjour,dans ma msflexgrid j'ai une colonne qui contient des montants. Ds ma base ces montants sont de type Euro mais lorsque je les mets ds ma flexgr Suppression d'une ligne entiere [ par falcom80 ] J'aimerais supprimer une ligne entière mais dans la colonne A, j'ai plusieurs rangées de cellules qui sont fusionnées.Alors, quand je veux avec mon co Incrémentation de colonnes VBA excel [ par lapin_russe ] Bonjour à tous,Me revoilou encore et toujours à l'affu d'une aide précise.J'aimerai juste savoir comment faire pour faire un teste de la première colo suppression colonne excel [ par bmmumu ] BonsoirUne petite question de debutantcomment en vb excel supprimmer une colonne ?Merci de votre aidebmmumu


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.