Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je m anqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" a écrit dans le message de news:
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "tot o"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je m anqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
1156845193.537985.58860@b28g2000cwb.googlegroups.com...
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "tot o"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je m anqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" a écrit dans le message de news:
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "tot o"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" a écrit dans le message de news:
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
1156845193.537985.58860@b28g2000cwb.googlegroups.com...
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" a écrit dans le message de news:
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Ca ne fonctionne pas, le debogueur m'emmene direct sur cette ligne
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
"anonymousA" a écrit dans le message de news:
tu n'as rien manqué. Si dans la plage C2:C500 , il n'y a pas de chaine
de texte contenant toto alors la plage de cellules plage n'est pas
définie. En conséquence, plage.entirerow.delete renvoie une erreur.
J'avais supposé qu'il existerait toujours une occurence avec la valeur
toto.
Pour eviter le plantage
Set plage = Nothing
With Range("C2:C17")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
If Not plage Is Nothing Then plage.EntireRow.Delete
A+
Manu wrote:J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xl Part)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" a écrit dans le message de news:
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la premiè re
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xl Part)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu' on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "t oto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Ca ne fonctionne pas, le debogueur m'emmene direct sur cette ligne
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
1156854315.492433.229320@75g2000cwc.googlegroups.com...
tu n'as rien manqué. Si dans la plage C2:C500 , il n'y a pas de chaine
de texte contenant toto alors la plage de cellules plage n'est pas
définie. En conséquence, plage.entirerow.delete renvoie une erreur.
J'avais supposé qu'il existerait toujours une occurence avec la valeur
toto.
Pour eviter le plantage
Set plage = Nothing
With Range("C2:C17")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
If Not plage Is Nothing Then plage.EntireRow.Delete
A+
Manu wrote:
J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xl Part)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
1156845193.537985.58860@b28g2000cwb.googlegroups.com...
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la premiè re
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xl Part)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu' on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "t oto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Ca ne fonctionne pas, le debogueur m'emmene direct sur cette ligne
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
"anonymousA" a écrit dans le message de news:
tu n'as rien manqué. Si dans la plage C2:C500 , il n'y a pas de chaine
de texte contenant toto alors la plage de cellules plage n'est pas
définie. En conséquence, plage.entirerow.delete renvoie une erreur.
J'avais supposé qu'il existerait toujours une occurence avec la valeur
toto.
Pour eviter le plantage
Set plage = Nothing
With Range("C2:C17")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPa rt)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
If Not plage Is Nothing Then plage.EntireRow.Delete
A+
Manu wrote:J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xl Part)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" a écrit dans le message de news:
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la premiè re
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xl Part)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu' on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "t oto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
Un peu plus basique ;o(
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
Un peu plus basique ;o(
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
Un peu plus basique ;o(
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses lorsqu'on ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot "toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Ca ne fonctionne pas, le debogueur m'emmene direct sur cette ligne
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
"anonymousA" a écrit dans le message de news:
tu n'as rien manqué. Si dans la plage C2:C500 , il n'y a pas de chaine
de texte contenant toto alors la plage de cellules plage n'est pas
définie. En conséquence, plage.entirerow.delete renvoie une erreur.
J'avais supposé qu'il existerait toujours une occurence avec la valeur
toto.
Pour eviter le plantage
Set plage = Nothing
With Range("C2:C17")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
If Not plage Is Nothing Then plage.EntireRow.Delete
A+
Manu wrote:J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je
manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" a écrit dans le message de news:
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses
lorsqu'on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot
"toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Ca ne fonctionne pas, le debogueur m'emmene direct sur cette ligne
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
1156854315.492433.229320@75g2000cwc.googlegroups.com...
tu n'as rien manqué. Si dans la plage C2:C500 , il n'y a pas de chaine
de texte contenant toto alors la plage de cellules plage n'est pas
définie. En conséquence, plage.entirerow.delete renvoie une erreur.
J'avais supposé qu'il existerait toujours une occurence avec la valeur
toto.
Pour eviter le plantage
Set plage = Nothing
With Range("C2:C17")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
If Not plage Is Nothing Then plage.EntireRow.Delete
A+
Manu wrote:
J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je
manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
1156845193.537985.58860@b28g2000cwb.googlegroups.com...
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:
Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses
lorsqu'on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot
"toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu
Ca ne fonctionne pas, le debogueur m'emmene direct sur cette ligne
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
"anonymousA" a écrit dans le message de news:
tu n'as rien manqué. Si dans la plage C2:C500 , il n'y a pas de chaine
de texte contenant toto alors la plage de cellules plage n'est pas
définie. En conséquence, plage.entirerow.delete renvoie une erreur.
J'avais supposé qu'il existerait toujours une occurence avec la valeur
toto.
Pour eviter le plantage
Set plage = Nothing
With Range("C2:C17")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
If Not plage Is Nothing Then plage.EntireRow.Delete
A+
Manu wrote:J'ai éssayé cela, et ca m'amene directement au debogueur, qu'ais je
manqué
???
Sub test()
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
End Sub
Manu
"anonymousA" a écrit dans le message de news:
Bonjour,
2 méthodes possibles au moins (mais il y en a d'autres) , la première
étant plus rapide ( bien que pour 494 lignes seulement, y'aura pas
grande diférence).
1ere méthode.:Il faut que tu aies un filtre actif ( filtre
automatique) sur la colonne C.J'ai supposé qu'il y avait aussi un
filtre sur la colonne A et B auquel cas Field:=3 dans l'instruction
suivante.SI ce n'est pas le cas, il faudra adapter
With Range("_FilterDataBase")
.AutoFilter Field:=3, Criteria1:="=*toto*"
.SpecialCells(xlCellTypeVisible).Offset(1, 0).EntireRow.Delete
End With
ActiveSheet.ShowAllData
2eme méthode
With Range("C2:C500")
Set c = .Find(What:="toto", LookIn:=xlConstants, Lookat:=xlPart)
If Not c Is Nothing Then
firstaddress = c.Address
Set plage = c
Do
Set plage = Union(c, plage)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
plage.EntireRow.Delete
A+
Manu wrote:Bonjour,
C'est fou ce que l'on peu faire comme recherche infructueuses
lorsqu'on
ne
connait pas.
Je souhaite supprimer les lignes si dans C5 à C500 il y a le mot
"toto"
alors apres votre aide j'essai ce genre de chose :
[c15:c500].??????????("toto").EntireRow.Delete
Mais je ne sais pas quoi mettre à la place des ?????
Merci
Manu