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 :

Récupérer code vba d'une feuille [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut Récupérer code vba d'une feuille
    Bonjour à tous,

    Je cherche le moyen de récupérer le code contenu dans ma feuille excel.
    Je m'explique, dans ma feuille 1, j'ai un code sur l'event worksheet_change et beforeDoubleClick.
    Quand je créé une nouvelle feuille, je fais une copie d'une existante pour garder le même template. Cependant, les macros associées a ces deux événements sont perdues en route.

    Existe-t-il un moyen de les conserver ?

    Merci par avance .

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
     
    End Sub
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
     
    End Sub
    Dernière modification par Chtulus ; 29/08/2014 à 15h06. Motif: Citation inutile !

  3. #3
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut
    Je me suis mal fait comprendre.

    Je connais les event ou il faut que je mette mon code, mais dans ma feuil2, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Cancel = Target.Address = "$D$12"
    End Sub
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not ThisWorkbook.validate(Target) Then
            Target.value = Null
        End If
    End Sub
    Quand je copie ma feuille, le code dans les méthode ne suit pas. Donc sur ma nouvelle feuille, je n'ai plus mon système de validation.
    Donc est ce qu'il existe un moyen de copier coller ce code et de le remettre dans la nouvelle feuille ?

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Tu as la réponse donnée par Robert (+1)

    Regarde dans le module ThisWorkbook, tu as les mêmes événements mais pour toutes les feuilles.

    Tu pourra éventuellement faire un test sur le paramètre Sh au cas où toutes les feuilles du classeur ne sont pas concernées

  5. #5
    Invité
    Invité(e)
    Par défaut
    oui ça il font les même chose Worksheet_BeforeDoubleClick et Worksheet_Change mais au niveau il classeur! si c'est méthode ne concerne pas toute les feuille il faut le géré dans la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
     If Sh.name<>"toto" and  Not ThisWorkbook.validate(Target) Then
            Target.value = Null
        End If
    end sub

  6. #6
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut
    parfait, ça fonctionne.

    Je n'avais pas vu le "sheet' dans le nom de methode.
    ça résous mon problème.

    Merci

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

Discussions similaires

  1. [XL-2010] copier collier un code VBA d'une feuille à une autre
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/08/2014, 23h56
  2. [XL-2003] Copier le code VBA d'une feuille à une autre avec une macro
    Par Pimpampoum dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/02/2012, 15h57
  3. [AC-2000] Récupérer la ligne ou le code VBA d'une erreur
    Par isa911Bis dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/03/2010, 17h26
  4. [VBA-E97]Code pour déprotéger une feuille de calcul
    Par blaiso dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/04/2007, 11h30
  5. Affectation code VBA dans une feuille xls
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/02/2007, 13h52

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