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 :

Excel 2003 - Run-time error '1004'


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Excel 2003 - Run-time error '1004'
    Bonjour,

    Cela fait un p'tit temps que je ne suis plus venu dans le forum, mais j'ai un souce avec un module VBA et je ne vois pas pourquoi.

    En fait ce code fonctionne depuis un certain temps déjà, la dernière fois qu'il a fonctionné sans problèmes s'étais le 30 Avril dernier, aujjourd'hui je recois l'erreur suivante:

    Run-time error '1004':
    Application-defined or object-defined error
    Le debugger me dit que c'est la ligne suivante qui génère cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("WFM Data H1").Range(Cells(StartDeleteSCRWFMH1, 1), Cells(NumberOfLinesSCRWFMH1, 27)).Select
    Ce qui est très bizarre, c'est que j'ai une variable qui contient le mois de l'année (acquis par : ActualMonth = Month(Now)) ... si je tourne le programme en remplacant Month(Now) par la valeur 4 le programme fonctione ... alors je ne vois pas du tout le rapport entre les deux.

    J'attache une version réduite de mon "programme".

    Merci pour toute aide possible.

    Guy
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Le bug provient sans doute du fait qu'on ne peut pas sélectionner une cellule sur une feuille si celle-ci n'est pas active, il faut donc décomposer le code comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheets("WFM Data H1").Activate
    Range(Cells(StartDeleteSCRWFMH1, 1), Cells(NumberOfLinesSCRWFMH1, 27)).Select
    Remarque : Les "Select" sont bien souvent superflus et ne font qu'allourdir la procédure
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Le mieux étant de ne pas sélectionner les cellules

    (boujour Fling, te vont bien tes plumes ! A quand les rouges ?)

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Ca marche
    Salut Fring,

    Merci pour la solution, je viens de tester et ca marche ... je ne sais pourquoi cela a marché jusqu'à présent toutefois ... enfin, les voies de l'informatiques sont quelques fois inpénétrables

    Avant de marquer ce problème comme étant résolu j'aimerais encore poser une question à Ouskel'n'or: que veux tu dire par "Le mieux étant de ne pas sélectionner les cellules" ... n'étant pas un spécialiste VBA, je ne vois pas comment procéder autrement ... :

    1. Activer le worksheet ou se trouvent les cellules à traiter
    2. Sélectionner les cellules à traiter
    3. Traiter les cellules (dans ce cas les effacer)

    N'est pas la facon correcte de procéder??

    Merci,

    Guy

  5. #5
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    non ce n'est pas la meilleure façon de procéder, ce que tu fais est ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Feuil2").Activate
    Range("A1:A10").Select
    Selection.ClearContents
    La bonne façon se résume à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil2").Range("A1:A10").ClearContents
    Pour ça que je disais que les "Select" sont superflus
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Merci
    OK fring,

    Merci pour cette clarification, je vais modifer mon code sur base de ces recommendations.

    Encore merci pour ce forum, c'est vraiment très utile pour les novices.

    Guy

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Run-time error '1004'
    Par byran444 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/12/2012, 11h19
  2. [XL-2003] Run-time error '9'
    Par Pimpampoum dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/11/2011, 10h13
  3. Run time error 1004 - Select method class failed
    Par fhuyet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/07/2008, 11h18
  4. [VBA-E] Run-time error 1004, pourquoi ?
    Par Capsule dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 25/01/2007, 22h12
  5. Excel - macro (format conditionnel - run-time error 1004)
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/09/2006, 19h18

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