bonjour, qqu'un sait pourquoi quand je tape cette ligne et que je compile, j'ai "erreur d'execution '9' : l'indice n'appartient pas à la selection"
je travail sous excel 2000.Code:Worksheets("Sheet1").Range(Cells(2, 1), Cells(5, 3)).Select
Merci
Version imprimable
bonjour, qqu'un sait pourquoi quand je tape cette ligne et que je compile, j'ai "erreur d'execution '9' : l'indice n'appartient pas à la selection"
je travail sous excel 2000.Code:Worksheets("Sheet1").Range(Cells(2, 1), Cells(5, 3)).Select
Merci
bonjour
as tu vérifié que ta feuille s'appelle bien "Sheet1" ?
bonne journée
michel
En faite ma feuille s'appelle "Feuil1" mais ca ne marche pas non plus.
Dans ce cas la j'ai "erreur '1004' :erreur definit par l'application ou par l'objet".
Ca marche que pour ma "Feuil2" et je comprend pas car elles sont pareils?
rebonjour
ce message d'erreur est normal
tu dois d'abord activer la feuille et ensuite selectionner les cellules
Code:
1
2 Worksheets("Feuil1").Activate Range(Cells(2, 1), Cells(5, 3)).Select
bonne journée
michel
meme en faisant comme ca j'ai tjs l'erreur '1004'.
Mais mes colonnes "A","B" et "C" ont toutes les 3 un type de format de cellules differents. Est ce que ca pourrait venir de ca?
Merci pour l'aide!
Cellules fusionnées???
non mes cellules ne sont pas fusionnées.
Là franchement je comprend pas pourquoi.
Je regarde dans l'aide VBA mais c'est ecrit de la meme facon que moi, donc.........?
Et si tu mets "ActiveSheet." devant ton "Range(...).Select ?
Ça ne change rien?
non je pense pas car en faite c'est un bouton sur la feuille 2 qui fait faire le traitement sur la feuille1.
J'efface des enregistrement qui sont sur la feuille 1. C'est pour ca que je veux selectionner une plage de cellules car il faut pas tout que j'efface.
bonjour
tu n'es pas obligé de passer par un "Select" s'il tu veux juste effacer des cellules
en fonction de ton projet , tu peux essayer
ouCode:Worksheets("Feuil1").Range(Cells(2, 1), Cells(5, 3)).ClearContents
Code:Worksheets("Feuil1").Range(Cells(2, 1), Cells(5, 3)).Clear
bon apres midi
michel
J'ai déjà eu des problèmes d'accès d'une feuille à l'autre.
Pour cette raison, je ne mets jamais de code dans une feuille (autre que le code spécifique à cette feuille).
Pour y arriver à partir de la Feuil2, il faudrait écrire:
L'idéal, si on veut travailler de cette manière, c'est de créer une instance de la Feuil1.Code:Worksheets("Feuil1").Range(Worksheets("Feuil1").Cells(2, 1), Worksheets("Feuil1").Cells(5, 3)).Select
merci pour l'aide!
Mais j'ai tjs cette foutu erreur '1004' donc je crois qu'il doit y avoir un souci ailleur car j'ai deja essayé pas mal de variante avec "range".
Je vais essayer d'une autre facon (je vais faire une boucle pour selectionner mes cellules) ca ne sera pas optimisé mais bon si ca marche!!
merci bien en tout cas!
P.S:si tt fois je trouve je posterais la solution
Pourtant, SilkyRoad a raison: le clear(contents) devrait marcher, et tu n'as pas du tout nesoin de sélectionner des cellules pour les vider.
Je ne comprend pas, je fais des "Clear" tous les jours...
Mais essaie aussi de mettre la fonction qui vide les cellules dans un module, comme le dit AlainTech.
c'est ma worksheets(1) qui pose probleme, si je fais le traitement sur ma feuille 2 y a pas de souci ca marche niquel par contre sur la feuille 1 pas moyen d'y acceder.
La fonction "clear" ca marche c'est sur car j'en fait d'autre dans ma macro mais sur la feuille1 pas myen de la faire marcher.
Meme dans un module l'erreur viens du moment que je fais appel a ma feuille1(et pas sur la 2).
Mystère!!!!!!!!!!!!
Merci beaucoup
Dis, j'ai essayé ton truc, et j'ai la même chose que toi.
Par contre, j'ai remplacé
parCode:Range(Cells(2, 1), Cells(5, 3)).
Et là, ça marche...Code:Range("A2:C5")
C'est quand même bizarre!!!
Et le code de Michel fonctionne:
Bon, il est lourd, mais il fonctionne.Code:Worksheets("Feuil1").Range(Worksheets("Feuil1").Cells(2, 1), Worksheets("Feuil1").Cells(5, 3)).Select
oui je te le fait pas dire que c'est bizarre!!!!!!!!!!!
J'ai utilisé sous cette forme car ma plage de valeur va etre variable
ca sera tjs entre ma colonne "A" et et "C" mais par contre en ligne il peut y en avoir plus ou moins. Surtout que mon "2" et "5" vont porter le nom d'une variable qui contiendra le bumero de la ligne.Code:Range(Cells(2, 1), Cells(5, 3))
donc la je vois comment faire pour que ce soit optimisé. Apart faire un for pour selectionner mes cellules de tant à tant pas colonne et les effacer.
Sinon je vois pas.
Merci les gars!
oui le code a michel s'est bon il fonctionne mais par contre il faut que je le place dans un module. Si je place le code dans le traitement de mon bouton sur ma feuille2 ca ne marche.
Ouf enfin on y est arrivée!!!!!!!!!!!!!!!!!!!!
Bon he bien merci beaucoup à vous tous pour l'aide
bonne fin de journée.
Dans le format "A1:C5", ce qui est pénible à manipuler, c'est les lettres. Si seul le numéro de ligne est dans une variable, tu peux facilement écrire
Et avec le code de Michel, que j'ai mis une deuxième fois, dans lequel chaque "Cells" est précédée de s'onglet dans laquelle eslle se trouve, tu as une erreur aussi?Code:Range("A" & L1 & ":C" & L2)
Tiens, on s'est croisé...
:D
non c'est tout bon c'est resolé mes erreur plus de message ouf il etait temps!!!!!!
par contre merci pour le morceau de code afin de mettre mes variables dans "range".
Vraiment sympas les gars merci beaucoup.
bonne fin de journée