Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1650 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Longueur maximal dans un Range("...") [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Longueur maximal dans un Range("...") [Résolu]

n°2082388
smilm
Posté le 14-06-2011 à 16:39:13  profilanswer
 

Bonjour,
 
J'aimerai savoir s'il existe une limitation pour Range et s'il est possible de la contourner.
En effet, j'ai l'impression qu'une telle limite existe.
 
Le code suivant s'execute parfaitement.
ActiveWorkbook.Sheets(1).Range("78:78,306:306,806:806,808:808,810:810,811:811,812:812,815:815,817:817,1220:1220" ).EntireRow.Delete
 
Mais le code suivant me renvoi l'erreur suivante: "Erreur d'execution '1004' : Erreur définie par l'application ou par l'objet.
 
ActiveWorkbook.Sheets(1).Range("78:78,306:306,806:806,808:808,810:810,811:811,812:812,815:815,817:817,1220:1220,1331:1331,2269:2269,2645:2645,7817:7817,7895:7895,7896:7896,7905:7905,8238:8238,8239:8239,8242:8242,8284:8284,8285:8285,8287:8287,8288:8288,8291:8291,8292:8292,8294:8294,8295:8295,8299:8299,11116:11116,11117:11117,12481:12481,13467:13467,13722:13722,13731:13731,13735:13735,13736:13736,13760:13760,14025:14025,14205:14205,15547:15547,15556:15556,15557:15557,15639:15639,15704:15704,15705:15705,15707:15707,15708:15708,17242:17242,17261:17261,17456:17456,17459:17459,17463:17463,17464:17464,18386:18386,18394:18394,18398:18398,18400:18400,18899:18899,18917:18917,19193:19193,19197:19197,19199:19199,19676:19676,19817:19817,19996:19996,20125:20125,20252:20252,20538:20538,20654:20654,20789:20789,20850:20850,20988:20988,21841:21841,22863:22863,22864:22864,22865:22865,22921:22921,23900:23900,23924:23924,24213:24213,26010:26010,26054:26054,26331:26331,26352:26352" _
& ",26486:26486,26599:26599,26977:26977" ).EntireRow.Delete
 
Veuillez noter qu'initialement, "78:78,306:306,806:806, (...)" est une chaine de caractere contenu dans une variable de type String. Le code réelle est donc ActiveWorkbook.Sheets(1).Range(RowsADelete).EntireRow.Delete
 
 
Merci


Message édité par smilm le 15-06-2011 à 10:12:13
mood
Publicité
Posté le 14-06-2011 à 16:39:13  profilanswer
 

n°2082397
olivthill
Posté le 14-06-2011 à 17:52:26  profilanswer
 

Oui, une limite a sans doute été dépassée.
Une solution consisterait à faire des Delete pour chaque plage :


ActiveWorkbook.Sheets(1).Range("26977:26977" ).EntireRow.Delete
ActiveWorkbook.Sheets(1).Range("26599:2659" ).EntireRow.Delete
...
ActiveWorkbook.Sheets(1).Range("306:306" ).EntireRow.Delete
ActiveWorkbook.Sheets(1).Range("78:78" ).EntireRow.Delete

De plus, il me semble qu'il faudrait faire attention à supprimer à partir de la fin, car sinon, lorsqu'une ligne est supprimée, cela fait remonter toutes les suivantes, et les indices, qui suivent, sont décalés.

n°2082407
smilm
Posté le 14-06-2011 à 18:52:11  profilanswer
 

Yes! C'est surtout ta dernière remarque qui m'aide car je rencontrais effectivement ce problème puisque je partais du haut... Merci!

n°2082471
kiki29
Posté le 15-06-2011 à 07:36:19  profilanswer
 

Salut,il semblerait que la chaine passée dans un Range ne puisse excéder 255 caractères, et cela d'Excel 97 à 2007


---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Longueur maximal dans un Range("...") [Résolu]

 

Sujets relatifs
Découper une chaîne avec un tableau de longueur en paramRégler la taille de la longueur du texte
fonction strlen calcule de la longueur de chaineParser une chaine de caractere de longueur variable
La methode Range de l'objet Worksheets a échoué[VBA] Problème avec SeriesCollection.Values et Union(Range)
[VBA] Erreur 1004 AutoFiltre method of Range class failed[VBA] Erreur out of range sur script
[ksh] expression regulière sur longueur chaine 
Plus de sujets relatifs à : Longueur maximal dans un Range("...") [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR