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 :

Application macro sur nouvel onglet créé [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Par défaut Application macro sur nouvel onglet créé
    Bonjour à vous toutes et tous !

    Tout d'abord, je tiens à remercier l'ensemble des personnes qui aident celles en difficulté sur les sujets touchant de près ou de loin aux macros.
    Etant novice sur cette thématique, cela m'a permis de contourner des problématiques que j'ai pu rencontrées.

    Je vous écris car là je suis bloqué !
    Je pense que ce ne sera pas un problème pour vous. Voici les explications :

    J'ai 2 onglets :

    - Un onglet "mouvement" : 1 tableau avec données

    - Un onglet "fiche de suivi n°" dans lequel il existe 2 macros :
    - macro 4 pour créer un nouvel onglet (c'est une copie de l'onglet)
    - macro 1 pour mettre à jour la fiche de suivi. Pour cette macro, j'avais fait "enregistrement d'une macro" : il s'agit de copier le tableau de l'onglet "mouvement" et le coller dans l'onglet "fiche de suivi n°".

    Lorsque je clique sur le bouton de la macro 4 : RAS. La macro s’exécute correctement et mon nouvel onglet est créé avec la présence des 2 boutons des macros.

    Par contre, une fois sur l'onglet créé (ex.: "fiche de suivi n°(2)"), lorsque je clique sur le bouton de la macro 1, je retourne sur l'onglet initial (normal me direz-vous, c'était un enregistrement).

    Ce que je souhaiterai, c'est appliquer la macro 1 sur les nouveaux onglets créés.
    Quelqu'un pourrait-il venir à mon secours? Help me please !

    En vous remerciant par avance de votre retour,

    Cordialement,

    Christolemo
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Lis ceci : http://www.developpez.net/forums/d84...s-discussions/

    Tu devrais mettre tes codes dans un message pour qu'on puisse les voir.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Par défaut
    Bonjour Menhir,

    Après lecture du lien, désolé de ne pas avoir mis les codes.

    Du coup, la macro 1, pour laquelle je souhaiterai une copie, dispose du code suivant (c'était un enregistrement) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
    ' Macro1
        Sheets("Mouvement").Select
        Columns("A:M").Select
        Selection.Copy
        Sheets("Fiche de suivi_n°").Select
        Columns("H:H").Select
        ActiveSheet.Paste
    End Sub
    Ce code est, pour le moment, applicable uniquement pour l'onglet "Fiche de suivi n°".
    Je ne sais pas comment faire pour l'appliquer sur un nouvel onglet créé. J'imagine que c'est la ligne Sheets("Fiche de suivi_n°").Select qui est à l'origine du problème...

    En te remerciant,

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ceci devrait suffire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Macro1()
    Sheets("Mouvement").Columns("A:M").Copy Columns("H:H")
    ActiveSheet.Paste
    End Sub
    Petite remarque au passage : l'enregistreur automatique de macro colle des Selection/Select partout alors que, la plupart du temps, on peut s'en passer en enchainant les objets (voir le code ci-dessus).
    Ca permet d'avoir un code plus propre et une exécution plus rapide et moins brouillonne.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Par défaut
    Merci Menhir pour ton aide.

    Je viens de mettre le code dans la macro et lorsque je clique sur le bouton, cela me marque :
    "Erreur d'exécution 1004 : La méthode Paste de la classe Worksheet a échoué".

    Je suis allé dans la feuille concernée (en VBA) : la feuille est bien "Worksheet" "Activate".

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Excuse, j'avais mal lu.
    Je ne sais pas pourquoi j'ai cru que c'était un Application.CutCopyMode = False.
    Supprime la ligne 3 du code que j'ai donné.

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

Discussions similaires

  1. [XL-2007] Nouvelle mise en forme sur nouvel onglet avec code VBA
    Par Pygouv dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/04/2013, 10h11
  2. [XL-2002] Macro sur différents onglets d'un classeur
    Par playa2 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/01/2013, 14h42
  3. [XL-2007] Macro sur plusieurs onglets: erreur 1004
    Par beniboy dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/12/2012, 14h40
  4. Dupliquer une macro sur plusieurs onglets
    Par Mag555 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/08/2011, 00h07
  5. [AC-2007] Placement contrôles sur nouvel onglet
    Par Baba75AB dans le forum IHM
    Réponses: 3
    Dernier message: 02/04/2009, 12h51

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