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(excel97)Copie une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut vba(excel97)Copie une feuille
    Bonjour,


    J'ai sur une feuille(sheet3"Commande") un bon de commande.
    Je voudrais que lorsque je clique sur un bouton, il me crée un nouveau bon de commade(cpie la feuille et la place après)

    J'ai essayé avec l'enregistreur de macro et il me retourne une erreur

    Run-time error '1004'
    Copy method of worksheet class failed
    le débogueur s'arrête sur la ligne 2


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sheets("Commande").Select 
    Sheets("Commande").Copy After:=Sheets(3) 
    Sheets("Commande (2)").Select 
    Sheets("Commande (2)").Name = "Commande" & Date




    une idée merci

  2. #2
    Membre habitué Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 198
    Points
    198
    Par défaut
    Essaie ça, ça ira déjà mieux au niveau de l'écriture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    worksheets("Commande").Copy After:=worksheets(worksheets.count)
    activesheet.name="Commande" & cstr(Date)
    Je n'ai pas tenté mais ça doit être ça. Remarque que j'ai mis Cstr() devant Date qui te renvoie un variant (peut être pas nécessaire mais bon )

    P.S:Evite a tt prix les .select ou .activate (comme te les donne justement l'enregistreur)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    j'ai essayé ton code mais toujours une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    worksheets("Commande").Copy After:=worksheets(worksheets.count)
    activesheet.name="Commande" & cstr(Date)


    attention excel 97
    Fichiers attachés Fichiers attachés

  4. #4
    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 546
    Points
    15 546
    Par défaut
    Ton classeur ne serait pas protégé par hasard ?
    A+

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    non il n'est pas protégé

  6. #6
    Membre habitué Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 198
    Points
    198
    Par défaut
    oops dsl c'est le format de la date qui pose problème...
    Essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    worksheets("Commande").Copy After:=worksheets(worksheets.count)
    activesheet.name="Commande" & Format(Now, "dd-mm-yyyy" & " à " & "hh""h""mm""'""ss""''""")

    A adpater si tu ne veux pas l'heure ...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    toujours le même problème malgré ton changement de format de date

  8. #8
    Expert éminent sénior

    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
    Points : 20 147
    Points
    20 147
    Par défaut
    bonsoir

    tu peux faire un essai en ajoutant

    en tout début de procédure


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("A1").Select
    Sheets("Commande").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "essai" & Format(Date, "yyyy_mm_dd")


    michel

  9. #9
    Membre habitué Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 198
    Points
    198
    Par défaut
    Re-bonjour,

    Alors je ne pense pas que le select soit très utile (ou alors il faut m'expliquer ) par contre j'avais persisité dans mon erreur puisque le format que je te donnais incluais des caractères incompatibles avec un nom de page (les "'" de secondes).
    Essaie donc ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    worksheets("Commande").Copy After:=worksheets(worksheets.count)
    activesheet.name="Commande" & Format(Now, "dd-mm-yyyy")
    Une remarque quand même, si tu avais lu message d'erreur qui s'affichait tu aurais pu trouver (enfin je pense)

    Bonne soirée

  10. #10
    Expert éminent sénior

    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
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour Concombr

    tu as raison concernant le format Date mais dans ce cas cela doit bloquer sur la 3eme ligne, alors qu'apparament le soucis est au niveau de la copie dans 2eme ligne

    le débogueur s'arrête sur la ligne 2

    Stargates a précisé qu'il utilisait Excel97: il y a un bug connu quand ce genre de macro est lancé depuis un CommandButton avec cette version d'Excel

    d'ou le

    qui effectivement n'est pas utile si la macro est lancée depuis un module standard...;o)


    bonne journée
    michel

  11. #11
    Membre habitué Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 198
    Points
    198
    Par défaut
    Oki prof c'est vrai que j'avais occulté le pb de version.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 100
    Points
    100
    Par défaut
    ok merci

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

Discussions similaires

  1. [VBA][Excel]Copier une feuille dans un nouveau classeur
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2020, 12h51
  2. Problème lors de la 1ère utilisation d'une macro VBA pour copie de feuille
    Par youp_youp_ dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/06/2014, 10h54
  3. [VBA] exportation vers une feuille précise d'un fichier xls
    Par Christophe93250 dans le forum Access
    Réponses: 2
    Dernier message: 10/01/2006, 15h36
  4. [VBA][Excel] Copie de feuille a l'identique
    Par le_sonic dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/01/2006, 16h48
  5. [VBA] pointer sur une feuille bien précise via inputbox
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/01/2006, 19h37

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