Macro excel rechercher texte et suppression

Résolu/Fermé
Morbonnat
Messages postés
18
Date d'inscription
samedi 26 avril 2008
Statut
Membre
Dernière intervention
21 janvier 2009
- 26 avril 2008 à 21:57
Morbonnat
Messages postés
18
Date d'inscription
samedi 26 avril 2008
Statut
Membre
Dernière intervention
21 janvier 2009
- 25 août 2008 à 09:17
Bonjour,

Je viens vous demander de l'aide car cela fait 2 jours que je suis dessus et je suis sur le point d'exploser !!!

Sous Excel, je voudrais faire une macro pour supprimer les lignes qui contienne un certain texte. Il me faut donc recherche ce texte dans la colonne A, et s'il est présent supprimé la ligne entière. Cela pour 2 mots différent.

J'ai créer cette macro : (Dans ce cas, il faut supprimer les ligne dont la cellule A contient le mot "president" ou le mont "directeur". Si la cellule contient "président d'honneur" ou "directeur général" je veux que les lignes soient supprimée aussi...)

Do

If Cells.Find(What:="president").Activate Then

selection.EntireRow.Delete

Else: Do

Cells.Find(What:="directeur").Activate

selection.EntireRow.Delete

Loop

End If

Loop

End Sub

Le probleme est que une fois que le mot "president" n'est plus trouvé, il ne cherche pas s'il il reste des cellules avec "directeur". Il m'affiche "erreur d'execution '91'...

HELP !!!

3 réponses

bonjour,

Voici comment il faut coder ta macro
Sub select_supr()

Do
    If Cells.Find(What:="directeur") Is Nothing Then
       Exit Do
    Else
       Cells.Find(What:="directeur").Activate
       Selection.EntireRow.Delete
    End If
Loop

Do
    If Cells.Find(What:="président") Is Nothing Then
       Exit Do
    Else
       Cells.Find(What:="président").Activate
       Selection.EntireRow.Delete
    End If
Loop

'et ainsi de suite

End Sub

Salut.
3
Morbonnat
Messages postés
18
Date d'inscription
samedi 26 avril 2008
Statut
Membre
Dernière intervention
21 janvier 2009
1
27 avril 2008 à 16:43
Merci Amigo !!
0
Bonjour
je me permets de te contacter suite à la solution en VB que tu as soumise.
Je ne connais pas grand chose en programmation au contraire de toi.
j'ai un fichier excel de 2000 lignes et j'aimerais détecter du texte (qui est le même sur chaque fin de ligne) pour insérer une nouvelle ligne de texte ( ce serait une commande tempo pour un fichier de spool).
merci d'avance si tu veux bien me répondre.
0
Morbonnat
Messages postés
18
Date d'inscription
samedi 26 avril 2008
Statut
Membre
Dernière intervention
21 janvier 2009
1
27 avril 2008 à 01:49
J'ai avancé depuis le dernier message. Le code suivant me permet de supprimé les lignes que je veux cependant la macro se termine par un message d'erreur ?!? Ceci m'enpéche d'ajouter un troisième mot a cherche.

Je ne comprend pas l'érreur étant donné que les 2 lignes sont identique !!!

Je vous laisse ici mon code pour que vous puissiez le critquer...:


Sub select_supr()

Do
On Error GoTo A1

Cells.Find(What:="directeur").Activate

selection.EntireRow.Delete

Loop
A1:

Do
On Error GoTo B1

Cells.Find(What:="président").Activate

selection.EntireRow.Delete

Loop

B1:
End Sub
1
Morbonnat
Messages postés
18
Date d'inscription
samedi 26 avril 2008
Statut
Membre
Dernière intervention
21 janvier 2009
1
25 août 2008 à 09:17
Bonjour,

Je ne m'y connais pas beaucoup en macro, c'est d'ailleurs pour cela que je suis sur ce site... :S

En ce qui concerne ta macro, tu peux utiliser le même code que mois pour rechercher les cellule qui contienne le texte que tu cherches:

Cells.Find(What:="CE-QUE-TU-CHERCHES")

Ensuite, pour insérer un ligne de texte en dessous je n'ai aucune idée du code, désolé...

Bonne chance dans ta recherches

Salut
0