Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 11/03/2010, 19h38   #1
Invité de passage
 
Inscription : avril 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 5
Points : 0
Points : 0
Par défaut Supprimer une ligne en fonction de la valeur d'une cellule

Bonjour à tous,

J'ai un fichier qui reprend tout un ensemble de lignes (des demandes numérotées en fait) et j'aimerais supprimer des lignes sous une condition

Dans la colonne C j'ai une indication sur le statut de ces demandes et j'aimerais créer une macro qui me permet de supprimer toutes les lignes dont le statut n'est pas "clôturée".

Voici ma macro que j'ai trouvée :

Code :
1
2
3
4
5
6
Range("C2").Select
Do While ActiveCell <> "Clôturée"
ActiveCell.Offset(1, 0).Select
Loop
 
Selection.Delete Shift:=xlUp
et à vrai dire bah ça marche pas du tout, le problème étant que je n'arrive pas à sélectionner toute ma ligne et je pense que cette macro s'arrêtera à la première cellule "clôturée" et ne poursuivra pas sur les autres!! je suis en perte d'imagination et de compétences! Si vous pouvez m'aider....merci d'avance

Dernière modification par Pierre Fauconnier ; 11/03/2010 à 21h27. Motif: Suppression de la pièce jointe, inutile à ce stade. Balises de code svp (sélection du code puis bouton # au dessus du message). Merci
micmos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2010, 21h34   #2
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 7 906
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 7 906
Points : 13 687
Points : 13 687
Envoyer un message via Skype™ à Pierre Fauconnier
Bonjour

1) Lorsque tu supprimes, commence toujours par le bas de ton tableau. Tu éviteras ainsi de "sauter" la ligne qui suit une ligne supprimée.

2) Pour sélectionner toute la ligne, utilise la propriété .EntireRow d'un objet typé Range.

3) Tu n'es pas obligé de sélectionner une cellule pour travailler avec.

4) Ton code, tel que je le lis (boucle Do While supprimerait les lignes jusqu'à la première cellule dont la valeur en C serait Clôturée puis s'arrêtera. Est-ce cela que tu souhaites? Autrement dit:

Veux-tu supprimer toutes les lignes jusqu'à trouver Clôturée?

Ou bien

Veux-tu supprimer toutes les lignes pour lesquelles la valeur en C est Clôturée pour l'ensemble des lignes utilisées d'une feuille?
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 00h13   #3
Membre Expert
 
Inscription : juillet 2007
Messages : 2 134
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 2 134
Points : 2 154
Points : 2 154
Salut micmos et leforum
Un essais
Code :
1
2
3
4
5
Dim X As Long
'.....
For X = Range("A1").SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
    If Range("C" & X) <> "Clôturée" Then Rows(X).Delete
Next X
A+
Gorfael est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 09h24   #4
Invité de passage
 
Inscription : avril 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 5
Points : 0
Points : 0
Par défaut Merci

Merci à vous deux et surtout à toi Gorfael, le résultat est pile à la hauteur de mes espérances!! tu m'enlèves un sacré obstacle

en tout cas merci de mettre vos compétences au service des autres!

A+ sur le forum et peut-être que dans 2-3 ans ce sera à mon tour de vous aider!
micmos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h51.


 
 
 
 
Partenaires

Hébergement Web