IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E]pb execution '9'


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut [VBA-E]pb execution '9'
    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"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Sheet1").Range(Cells(2, 1), Cells(5, 3)).Select
    je travail sous excel 2000.

    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    as tu vérifié que ta feuille s'appelle bien "Sheet1" ?


    bonne journée
    michel

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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?

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    rebonjour

    ce message d'erreur est normal
    tu dois d'abord activer la feuille et ensuite selectionner les cellules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheets("Feuil1").Activate
    Range(Cells(2, 1), Cells(5, 3)).Select

    bonne journée
    michel

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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!

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Cellules fusionnées???
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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.........?

  8. #8
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Et si tu mets "ActiveSheet." devant ton "Range(...).Select ?
    Ça ne change rien?

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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.

  10. #10
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").Range(Cells(2, 1), Cells(5, 3)).ClearContents
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").Range(Cells(2, 1), Cells(5, 3)).Clear

    bon apres midi
    michel

  11. #11
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").Range(Worksheets("Feuil1").Cells(2, 1), Worksheets("Feuil1").Cells(5, 3)).Select
    L'idéal, si on veut travailler de cette manière, c'est de créer une instance de la Feuil1.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  12. #12
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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

  13. #13
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    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.

  14. #14
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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

  15. #15
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Dis, j'ai essayé ton truc, et j'ai la même chose que toi.
    Par contre, j'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(2, 1), Cells(5, 3)).
    par
    Et là, ça marche...
    C'est quand même bizarre!!!

  16. #16
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Et le code de Michel fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").Range(Worksheets("Feuil1").Cells(2, 1), Worksheets("Feuil1").Cells(5, 3)).Select
    Bon, il est lourd, mais il fonctionne.

  17. #17
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(2, 1), Cells(5, 3))
    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.

    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!

  18. #18
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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.

  19. #19
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & L1 & ":C" & L2)
    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?


    Tiens, on s'est croisé...

  20. #20
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VBA] créer un executable des formulaires access
    Par benjapar dans le forum VBA Access
    Réponses: 4
    Dernier message: 18/12/2006, 14h01
  2. probleme de requetes VBA/ACESS. erreur execution 3251
    Par schwinny dans le forum Access
    Réponses: 9
    Dernier message: 05/07/2006, 10h11
  3. [VBA] erreur d'execution '3061'
    Par herendel dans le forum Access
    Réponses: 3
    Dernier message: 02/05/2006, 15h22
  4. [VBA] Aide Erreur execution !!
    Par Virgile59 dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/02/2006, 12h01
  5. probleme code vba ne s'execute pas apres instruction sql
    Par arnogef dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/12/2005, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo