salut,
je cause si mal le vba que les propos qui suivent vont vous paraitre
risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il
se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je
ne connais pas un traitre mot de vb)
en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a
plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1()
'
Range("A1").Select
For i = 1 To 100
On Error GoTo Flag1
Cells.Find(What:="toto", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Rows("1:3").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag1:
Range("A1").Select
For i = 1 To 200
On Error GoTo Flag2
Cells.Find(What:="titi", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag2:
Range("A1").Select
For i = 1 To 200
On Error GoTo Flag3
Cells.Find(What:="tutu", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag3:
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
...Patrick
Que cherches tu exactement à faire ???
..PAtrick
"JC2" a écrit dans le message de news: #
salut, je cause si mal le vba que les propos qui suivent vont vous paraitre risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je ne connais pas un traitre mot de vb) en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1() ' Range("A1").Select For i = 1 To 100 On Error GoTo Flag1 Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:3").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag1: Range("A1").Select For i = 1 To 200 On Error GoTo Flag2 Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag2: Range("A1").Select For i = 1 To 200 On Error GoTo Flag3 Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag3: End Sub
Si ce n'était un effet de votre bonté ... :))
Que cherches tu exactement à faire ???
..PAtrick
"JC2" <abcd@efgh> a écrit dans le message de news:
#dRxf6eVDHA.2212@TK2MSFTNGP12.phx.gbl...
salut,
je cause si mal le vba que les propos qui suivent vont vous paraitre
risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il
se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je
ne connais pas un traitre mot de vb)
en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a
plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1()
'
Range("A1").Select
For i = 1 To 100
On Error GoTo Flag1
Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:3").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag1:
Range("A1").Select
For i = 1 To 200
On Error GoTo Flag2
Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag2:
Range("A1").Select
For i = 1 To 200
On Error GoTo Flag3
Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag3:
End Sub
salut, je cause si mal le vba que les propos qui suivent vont vous paraitre risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je ne connais pas un traitre mot de vb) en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1() ' Range("A1").Select For i = 1 To 100 On Error GoTo Flag1 Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:3").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag1: Range("A1").Select For i = 1 To 200 On Error GoTo Flag2 Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag2: Range("A1").Select For i = 1 To 200 On Error GoTo Flag3 Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag3: End Sub
Si ce n'était un effet de votre bonté ... :))
Pierre Jagut
Bonsoir,
Je ne suis pas un pro de VB non plus, mais en regardant dans l'aide (double-clic sur "Find" et tape "F1"), il indique dans l'exemple un moyen de tester la fin d'une recherche plutôt que le "On Error GoTo ...". Il s'agit de mettre le résultat de la recherche dans une variable, et de tester si le contenu de cette variable contient Nothing ou pas. Cela doit donner un truc comme cela :
Dim Test Test = Cells.Find(...) Do while (Test <> Nothing) ... TestÎlls.FindNext Loop ...
Essaye comme cela, ce sera plus propre. Pierre.
"JC2" a écrit dans le message de news:%
salut, je cause si mal le vba que les propos qui suivent vont vous paraitre risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je ne connais pas un traitre mot de vb) en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1() ' Range("A1").Select For i = 1 To 100 On Error GoTo Flag1 Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:3").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag1: Range("A1").Select For i = 1 To 200 On Error GoTo Flag2 Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag2: Range("A1").Select For i = 1 To 200 On Error GoTo Flag3 Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag3: End Sub
Si ce n'était un effet de votre bonté ... :))
Bonsoir,
Je ne suis pas un pro de VB non plus, mais en regardant dans l'aide
(double-clic sur "Find" et tape "F1"), il indique dans l'exemple un moyen de
tester la fin d'une recherche plutôt que le "On Error GoTo ...".
Il s'agit de mettre le résultat de la recherche dans une variable, et de
tester si le contenu de cette variable contient Nothing ou pas.
Cela doit donner un truc comme cela :
Dim Test
Test = Cells.Find(...)
Do while (Test <> Nothing)
...
TestÎlls.FindNext
Loop
...
Essaye comme cela, ce sera plus propre.
Pierre.
"JC2" <abcd@efgh> a écrit dans le message de
news:%23dRxf6eVDHA.2212@TK2MSFTNGP12.phx.gbl...
salut,
je cause si mal le vba que les propos qui suivent vont vous paraitre
risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il
se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je
ne connais pas un traitre mot de vb)
en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a
plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1()
'
Range("A1").Select
For i = 1 To 100
On Error GoTo Flag1
Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:3").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag1:
Range("A1").Select
For i = 1 To 200
On Error GoTo Flag2
Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag2:
Range("A1").Select
For i = 1 To 200
On Error GoTo Flag3
Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag3:
End Sub
Je ne suis pas un pro de VB non plus, mais en regardant dans l'aide (double-clic sur "Find" et tape "F1"), il indique dans l'exemple un moyen de tester la fin d'une recherche plutôt que le "On Error GoTo ...". Il s'agit de mettre le résultat de la recherche dans une variable, et de tester si le contenu de cette variable contient Nothing ou pas. Cela doit donner un truc comme cela :
Dim Test Test = Cells.Find(...) Do while (Test <> Nothing) ... TestÎlls.FindNext Loop ...
Essaye comme cela, ce sera plus propre. Pierre.
"JC2" a écrit dans le message de news:%
salut, je cause si mal le vba que les propos qui suivent vont vous paraitre risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je ne connais pas un traitre mot de vb) en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1() ' Range("A1").Select For i = 1 To 100 On Error GoTo Flag1 Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:3").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag1: Range("A1").Select For i = 1 To 200 On Error GoTo Flag2 Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag2: Range("A1").Select For i = 1 To 200 On Error GoTo Flag3 Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag3: End Sub
Si ce n'était un effet de votre bonté ... :))
JC2
c'est effectivement plus propre, et çà fonctionne ! merci :)
"Pierre Jagut" a écrit dans le message de news:bg6cor$fm6$
Bonsoir,
Je ne suis pas un pro de VB non plus, mais en regardant dans l'aide (double-clic sur "Find" et tape "F1"), il indique dans l'exemple un moyen de
tester la fin d'une recherche plutôt que le "On Error GoTo ...". Il s'agit de mettre le résultat de la recherche dans une variable, et de tester si le contenu de cette variable contient Nothing ou pas. Cela doit donner un truc comme cela :
Dim Test Test = Cells.Find(...) Do while (Test <> Nothing) ... TestÎlls.FindNext Loop ...
Essaye comme cela, ce sera plus propre. Pierre.
"JC2" a écrit dans le message de news:%
salut, je cause si mal le vba que les propos qui suivent vont vous paraitre risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il
se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je
ne connais pas un traitre mot de vb) en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a
plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1() ' Range("A1").Select For i = 1 To 100 On Error GoTo Flag1 Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:3").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag1: Range("A1").Select For i = 1 To 200 On Error GoTo Flag2 Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag2: Range("A1").Select For i = 1 To 200 On Error GoTo Flag3 Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag3: End Sub
Si ce n'était un effet de votre bonté ... :))
c'est effectivement plus propre, et çà fonctionne !
merci :)
"Pierre Jagut" <jagut@geta.fr> a écrit dans le message de
news:bg6cor$fm6$1@s1.read.news.oleane.net...
Bonsoir,
Je ne suis pas un pro de VB non plus, mais en regardant dans l'aide
(double-clic sur "Find" et tape "F1"), il indique dans l'exemple un moyen
de
tester la fin d'une recherche plutôt que le "On Error GoTo ...".
Il s'agit de mettre le résultat de la recherche dans une variable, et de
tester si le contenu de cette variable contient Nothing ou pas.
Cela doit donner un truc comme cela :
Dim Test
Test = Cells.Find(...)
Do while (Test <> Nothing)
...
TestÎlls.FindNext
Loop
...
Essaye comme cela, ce sera plus propre.
Pierre.
"JC2" <abcd@efgh> a écrit dans le message de
news:%23dRxf6eVDHA.2212@TK2MSFTNGP12.phx.gbl...
salut,
je cause si mal le vba que les propos qui suivent vont vous paraitre
risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe,
il
se plante avec une error 91 que j'arrive pas à scratcher (c'est normal,
je
ne connais pas un traitre mot de vb)
en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand
y'a
plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1()
'
Range("A1").Select
For i = 1 To 100
On Error GoTo Flag1
Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:3").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag1:
Range("A1").Select
For i = 1 To 200
On Error GoTo Flag2
Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag2:
Range("A1").Select
For i = 1 To 200
On Error GoTo Flag3
Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
ActiveCell.Select
Next i
'
Flag3:
End Sub
c'est effectivement plus propre, et çà fonctionne ! merci :)
"Pierre Jagut" a écrit dans le message de news:bg6cor$fm6$
Bonsoir,
Je ne suis pas un pro de VB non plus, mais en regardant dans l'aide (double-clic sur "Find" et tape "F1"), il indique dans l'exemple un moyen de
tester la fin d'une recherche plutôt que le "On Error GoTo ...". Il s'agit de mettre le résultat de la recherche dans une variable, et de tester si le contenu de cette variable contient Nothing ou pas. Cela doit donner un truc comme cela :
Dim Test Test = Cells.Find(...) Do while (Test <> Nothing) ... TestÎlls.FindNext Loop ...
Essaye comme cela, ce sera plus propre. Pierre.
"JC2" a écrit dans le message de news:%
salut, je cause si mal le vba que les propos qui suivent vont vous paraitre risibles pour le moins. m'enfin çà marche pas quoi. au 2eme paragraphe, il
se plante avec une error 91 que j'arrive pas à scratcher (c'est normal, je
ne connais pas un traitre mot de vb) en plus clair, il boucle bien sur "toto", puis sur "titi", mais quand y'a
plus de "titi", il me sort de l"error 91, au lieu de foncer sur Flag2.
Sub Macro1() ' Range("A1").Select For i = 1 To 100 On Error GoTo Flag1 Cells.Find(What:="toto", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:3").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag1: Range("A1").Select For i = 1 To 200 On Error GoTo Flag2 Cells.Find(What:="titi", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag2: Range("A1").Select For i = 1 To 200 On Error GoTo Flag3 Cells.Find(What:="tutu", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse).Activate ActiveCell.Rows("1:1").EntireRow.Select Selection.Delete Shift:=xlUp ActiveCell.Select Next i ' Flag3: End Sub