Dans une macro j'avais
Range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:2=
7,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,5=
3:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71").Select
Selection.Delete Shift:=3DxlUp
Ca fonctionnait parfaitement mais j'ai =E9t=E9 oblig=E9 de modifi=E9 comme
suit car la plage de donn=E9e exs maintenant plus grande
Range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:2=
7,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,5=
3:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71,73:73,75:75,77:7=
7,79:79,81:81,83:83,85:85,87:87,89:89,91:91,93:93,95:95,97:97,99:99,101:101=
,103:103,105:105,107:107,109:109,111:111,113:113,115:115,117:117,119:119,12=
1:121,123:123,125:125,127:127").Select
Selection.Delete Shift:=3DxlUp
Ca devrait fonctionner sauf que j'obtiens un Run-Time error '1004'
method 'Range' of object'_Global' failed.
En fait, ca fonction jusqu'au
range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:2=
7,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,5=
3:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71,73:73,75:75,77:7=
7,79:79,81:81,83:83,85:85,87:87,89:89")
mais d=E8s que je rajoute 89:89 et au del=E0 ca plante.
Sinon =E0 la place j'ai essay=E9
Range("A1:EZ250").Select
For I =3D 3 To Selection.Count Step 2
Selection.Rows(I).Delete
Next
Mais l=E0 non seulemnent ca ne marche pas toujours mais c'est tr=E8s long.
Range("A1:EZ250").Select For I = 3 To Selection.Count Step 2 Selection.Rows(I).Delete Next
Sam
Bonjour, - as tu remarqué que ta macro ne supprimait pas les bonnes lignes car quand tu supprimes la ligne 3, toutes les lignes remontent, la ligne 5 devient la ligne 4 etc il faut donc commencer par le bas - pour gagner en rapidité, évite les Select
ah tiens, Isabelle a déjà donné une solution identique à ce que j'allais proposé
N'oublie pas de mettre un chiffre impair pour la première ligne à supprimer (for I = 251 ou for I = 249)
Cordialement Michel dit "Sam"
"Christophe" a écrit dans le message de news:
Bonjour:
Excel 2007
Dans une macro j'avais Range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71").Select Selection.Delete Shift:=xlUp
Ca fonctionnait parfaitement mais j'ai été obligé de modifié comme suit car la plage de donnée exs maintenant plus grande Range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71,73:73,75:75,77:77,79:79,81:81,83:83,85:85,87:87,89:89,91:91,93:93,95:95,97:97,99:99,101:101,103:103,105:105,107:107,109:109,111:111,113:113,115:115,117:117,119:119,121:121,123:123,125:125,127:127").Select Selection.Delete Shift:=xlUp
Ca devrait fonctionner sauf que j'obtiens un Run-Time error '1004' method 'Range' of object'_Global' failed.
En fait, ca fonction jusqu'au range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71,73:73,75:75,77:77,79:79,81:81,83:83,85:85,87:87,89:89") mais dès que je rajoute 89:89 et au delà ca plante.
Sinon à la place j'ai essayé
Range("A1:EZ250").Select For I = 3 To Selection.Count Step 2 Selection.Rows(I).Delete Next
Mais là non seulemnent ca ne marche pas toujours mais c'est très long.
Salutations.
Christophe
Bonjour,
- as tu remarqué que ta macro ne supprimait pas les bonnes lignes car quand
tu supprimes la ligne 3, toutes les lignes remontent, la ligne 5 devient la
ligne 4 etc
il faut donc commencer par le bas
- pour gagner en rapidité, évite les Select
ah tiens, Isabelle a déjà donné une solution identique à ce que j'allais
proposé
N'oublie pas de mettre un chiffre impair pour la première ligne à supprimer
(for I = 251 ou for I = 249)
Cordialement
Michel dit "Sam"
"Christophe" <cjoly@mail.doc.gov> a écrit dans le message de news:
442fa1f2-1c2b-4fa5-954f-0563d3bb6e69@p7g2000yqa.googlegroups.com...
Bonjour:
Excel 2007
Dans une macro j'avais
Range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71").Select
Selection.Delete Shift:=xlUp
Ca fonctionnait parfaitement mais j'ai été obligé de modifié comme
suit car la plage de donnée exs maintenant plus grande
Range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71,73:73,75:75,77:77,79:79,81:81,83:83,85:85,87:87,89:89,91:91,93:93,95:95,97:97,99:99,101:101,103:103,105:105,107:107,109:109,111:111,113:113,115:115,117:117,119:119,121:121,123:123,125:125,127:127").Select
Selection.Delete Shift:=xlUp
Ca devrait fonctionner sauf que j'obtiens un Run-Time error '1004'
method 'Range' of object'_Global' failed.
En fait, ca fonction jusqu'au
range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71,73:73,75:75,77:77,79:79,81:81,83:83,85:85,87:87,89:89")
mais dès que je rajoute 89:89 et au delà ca plante.
Sinon à la place j'ai essayé
Range("A1:EZ250").Select
For I = 3 To Selection.Count Step 2
Selection.Rows(I).Delete
Next
Mais là non seulemnent ca ne marche pas toujours mais c'est très long.
Bonjour, - as tu remarqué que ta macro ne supprimait pas les bonnes lignes car quand tu supprimes la ligne 3, toutes les lignes remontent, la ligne 5 devient la ligne 4 etc il faut donc commencer par le bas - pour gagner en rapidité, évite les Select
ah tiens, Isabelle a déjà donné une solution identique à ce que j'allais proposé
N'oublie pas de mettre un chiffre impair pour la première ligne à supprimer (for I = 251 ou for I = 249)
Cordialement Michel dit "Sam"
"Christophe" a écrit dans le message de news:
Bonjour:
Excel 2007
Dans une macro j'avais Range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71").Select Selection.Delete Shift:=xlUp
Ca fonctionnait parfaitement mais j'ai été obligé de modifié comme suit car la plage de donnée exs maintenant plus grande Range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71,73:73,75:75,77:77,79:79,81:81,83:83,85:85,87:87,89:89,91:91,93:93,95:95,97:97,99:99,101:101,103:103,105:105,107:107,109:109,111:111,113:113,115:115,117:117,119:119,121:121,123:123,125:125,127:127").Select Selection.Delete Shift:=xlUp
Ca devrait fonctionner sauf que j'obtiens un Run-Time error '1004' method 'Range' of object'_Global' failed.
En fait, ca fonction jusqu'au range("3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:59,61:61,63:63,65:65,67:67,69:69,71:71,73:73,75:75,77:77,79:79,81:81,83:83,85:85,87:87,89:89") mais dès que je rajoute 89:89 et au delà ca plante.
Sinon à la place j'ai essayé
Range("A1:EZ250").Select For I = 3 To Selection.Count Step 2 Selection.Rows(I).Delete Next
Mais là non seulemnent ca ne marche pas toujours mais c'est très long.
Salutations.
Christophe
Christophe
Sam:
Merci pour l'explication de texte. Effectivement, je n'y arrivais pas et je comprends mieux pourquoi maintenant.
Christophe
Sam:
Merci pour l'explication de texte. Effectivement, je n'y arrivais pas
et je comprends mieux pourquoi maintenant.