Les Trucs & Astuces Informatiques de Michel

http://michel.vergriete.perso.sfr.fr/accueil.htm
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  

Partagez | 
 

 VBA pour excel : suppression de ligne conditionnée

Aller en bas 
AuteurMessage
bonobob



Nombre de messages : 3
Date d'inscription : 17/02/2009

MessageSujet: VBA pour excel : suppression de ligne conditionnée   Mar 17 Fév - 8:27

bonjour à tous

je viens en newbie chercher de l'aide sur un problème que je rencontre sur une macro VBA pour Excel

voici ce que je cherche à faire : j'ai une colonne comprenant une somme de plusieurs cellules. Je souhaite supprimer les lignes dont le résultat de la somme est égal à 0.

pour cela, j'ai utilisé le code suivant :

Sub Macro2()
Dim z
For z = 6 To 50
If Range("B" & z) < 1 Then
Rows(z).EntireRow.Delete
End If
Next z
End Sub

je n'obtiens pas le résultat voulu. quelqu'un aurait-il une piste ?

j'espère avoir été asse clair dans mes explications.

Merci d'avance,

bonobob
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
eric



Nombre de messages : 154
Date d'inscription : 17/07/2006

MessageSujet: Re: VBA pour excel : suppression de ligne conditionnée   Mar 17 Fév - 12:00

bonjour
Il existe de nombreuses méthodes pour supprimer des lignes dont la valeur d'une colonnne =0
En voici une
A adapter bien évidemment
Sub SupprimerValeur0()
Dim rcel As Range
Range("A1").Select
Selection.CurrentRegion.Select
For Each rcel In Selection
If rcel.Value = 0 Then
rcel.EntireRow.Delete
End If
Next rcel
End Sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bonobob



Nombre de messages : 3
Date d'inscription : 17/02/2009

MessageSujet: Re: VBA pour excel : suppression de ligne conditionnée   Mer 18 Fév - 2:07

bonjour éric
merci de ta réponse.
cependant je n'arrive pas au résultat attendu. j'ai essayé d'arranger ta solution avec mon fichier. dans les cellules de la colonne A, je fais une somme de B+C+D.

Sub SupprimerValeur0()
Dim rcel As Range
Range("A1:A10").Select
Selection.CurrentRegion.Select
For Each rcel In Selection
If rcel.Value = 0 Then
rcel.EntireRow.Delete
End If
Next rcel
End Sub

je n'arrive pas à supprimer uniquement les lignes dont le résultat en A est égal à 0. vois-tu où je fais une erreur?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bonobob



Nombre de messages : 3
Date d'inscription : 17/02/2009

MessageSujet: Re: VBA pour excel : suppression de ligne conditionnée   Jeu 19 Fév - 1:57

Bonjour,

j'ai trouvé la solution suivante qui fonctionne parfaitement

' Suppression des lignes vides
Dim I As Long
Dim Plage As Range
Set Plage = Range("plage des cellules concernées - CaRi:CaRy")
For I = Plage.Cells.Count To 1 Step -1
If Plage.Cells(I).Value = 0 Then
Plage.Cells(I).EntireRow.Delete
End If
Next


ce post est donc résolu !

++

bonobob
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: VBA pour excel : suppression de ligne conditionnée   

Revenir en haut Aller en bas
 
VBA pour excel : suppression de ligne conditionnée
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème pour la suppression de mon compte
» Nom de domaine en suppression, combien de temps pour sa suppression ?
» Code pour qui est en ligne
» Pour "Qui est en ligne" code modif couleur du texte
» Code html pour revenir à la ligne

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Les Trucs & Astuces Informatiques de Michel :: Bureautique-
Sauter vers: