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 :

code VBA pour password sur VBE [XL-2003]


Sujet :

Macros et VBA Excel

  1. #21
    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 : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Oui c'est vrai, je n'y pensais plus, il y a les contrôles de formulaire.
    La syntaxe est différente, raison pour laquelle ton test ne fonctionne pas.
    Pour ajouter un bouton et y associer une macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets("MaFeuille").Buttons.Add(10, 5, 100, 50) '<-- (Left, Top, Width, Height)
        .Caption = "Mon Bouton"
        .OnAction = "MaMacro"
    End With

  2. #22
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    ce n'est pas mon test, c'est celui de l'aide d'excel

    ok, je vais me pencher sur la question OnAction aujourd'hui et je (re)fais signe!

    ok, alors verdict:
    -> soit y a un truc si énorme que je ne le vois pas
    -> soit il y a encore un problème

    j'ai essayé plusieurs versions, mais il y a toujours un hic sur le OnAction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    With Sheets("calendrier").Buttons.Add(0.75, 16.5, 146, 24) '<-- (Left, Top, Width, Height)
        .Caption = "mise en page3"
        '.OnAction = "MaMacro"
     
        '.OnAction = Sheets("paramètres").formatte2      'erreur d'exécution 1004: impossible de définir la propriétré OnAction de la classe Button
        '.OnAction = "Sheets(""paramètres"").formatte2"  'erreur d'exécution 1004: impossible de définir la propriétré OnAction de la classe Button
        '.OnAction = "call formatte2"                    'erreur d'exécution 1004: impossible de définir la propriétré OnAction de la classe Button
     
        .OnAction = "formatte2"                         'au clic: impossible de trouver la macro "fichier.xls'!formatte2'
     
    End With
    et ce qui me turlupine dans le dernier cas: le " et les 2 '
    -> impossible de trouver la macro "fichier.xls'!formatte2'

    il va sans dire que la sub formatte2 existe belle et bien puisque je l'utilise aussi ailleurs... mais avec 3 signes d'ouverture/fermeture de chaine, clair que ça ne passe pas!

    ok, trouvé!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .OnAction = "Feuil4.formatte2"
    -> il faut effectivement préfixer la fct par sa feuille
    -> mais pas au format VBA, simplement le format feuille de calcul


    hé ben c pas mal tout ça maintenant...

    allez, dernier petit challenge si c'est possible:
    -> outils/macro/macro
    -> masquer la liste des macros

    avec un pass le VBE est bloqué, mais certaines macros sont encore affichées dans la liste (EXECUTER ou ANNULER)... pas très propre quoi...

  3. #23
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Citation Envoyé par steph68b Voir le message
    -> masquer la liste des macros
    mets en haut de module.

    PS : si le nom de la macro est connue, elle reste accessible via le menu macro par son nom....

    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

    Didier

  4. #24
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    mes sources / macros sont dans les feuilles, pas dans les modules

    EDIT:

    ok, c'est bon, 2 solutions en fait:
    -> soit déclarer sub PRIVATE
    -> soit utiliser Optional Factice As String dans la déclaration


    bien, bien, bien... commence à avoir de la gueule mon p'tit truc!

    je me donne encore la journée pour voir ce que je pourrais améliorer, avec votre aide si besoin est, et je fermerai le topic ensuite


  5. #25
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    bonjour,

    euh.... ce sont des macros xl4 ?




    cordialement,

    Didier

  6. #26
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    2003 non, mais bonne question, je dois encore voir aussi le "portage" vers 2007 & 2010, si tout est 100% compatible

  7. #27
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    vois les différents tutos sur le VBA Excel de DVP


    Les Feuilles, ce sont les feuilles de classeur, si tu clic droit sur un onglet, tu pourras voir qu'il y possibilité de feuilles de macros à surtout ne pas employer.

    Si tu a mis tes macros dans un Module de feuille (dossier Microsoft Excel Objets), tu es bien dans un Module, mais d'un genre particulier et normalement une macro sub basique n'a trop rien à y faire...

    Il faut pour ce que tu veux à ce moment là la déclarer en Private Sub (Option Private Module est interdit dans ces modules objet), tout ça a des répercutions, donc vois les tutos....

    cordialement,

    Didier

  8. #28
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    solution que j'avais fini par trouver oui, mais j'éditais le post ci-dessus pour le dire qd tu as répondu

    alors là, tout de suite, je vois bien un truc qui serait sympa MAIS à mon avis impossible...... sinon tous les virus s'engouffreraient là dedans!

    -> activer automatiquement l'option "activer les macros" à l'ouverture du fichier

  9. #29
    Membre expérimenté Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Points : 1 656
    Points
    1 656
    Par défaut
    Salut,

    On va dire que je suis à 97.5% sûr que c'est impossible. Tu peux au mieux certifié ta macro en espérant que le niveau de sécurité chez l'utilisateur n'est pas trop élevé.

  10. #30
    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 : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Tu peux en être sûr à 100%

  11. #31
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    je viens de tester sous 2007 et à priori ma petite appli tourne bien aussi... sous réserve d'activer la confiance au projet vba, comme pour 2003.

    ce qui me pose une autre question:
    1.) peut-on déterminer si le fichier est lancé par 203/2007/2010?
    2.) et dans le cas 2007/2010, peut-on activer automatiquement l'onglet "développeur" dans le bandeau (pour accéder ensuite aux options de sécurité des macros et faire les bon s réglages)?

  12. #32
    Membre expérimenté Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Points : 1 656
    Points
    1 656
    Par défaut
    Salut,

    Oui tu peux tester la version.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     'on contrôle la version de Office, si c'est office 2007 et supérieur ou autre, = 12 pour 2007, = 11 pour 2003, True = 2007, False = 2003
        If Val(Application.Version) >= 12# Then
            VersionChecker = True
        Else
            VersionChecker = False
        End If
    J'ai la flemme de chercher comment activer le bandeau Developper mais sa doit se trouver.

  13. #33
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    impec' maintenant encore qq'un pour le bandeau et roule Raoul!

  14. #34
    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 : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par steph68b Voir le message
    et dans le cas 2007/2010, peut-on activer automatiquement l'onglet "développeur" dans le bandeau (pour accéder ensuite aux options de sécurité des macros et faire les bon s réglages)?
    Serait-ce ça que tu cherches ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CommandBars.FindControl(, 3627).Execute

  15. #35
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    à priori non: la méthode 'execute' de l'objet '_CommandBarButton' a échoué

  16. #36
    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 : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    c'est la commande pour le menu 2007 comme demandé, normal que ça coince si tu essaies avec 2003.

  17. #37
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    tu penses quand même bien que j'ai testé pour 2007 qd même...

  18. #38
    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 : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Tu penses bien que moi aussi quand même

    Dans un classeur vierge, exécute cette macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub FindControlID()
    Dim B As Object, Nb As Integer
    Dim X As Integer, DerL As Integer
     
    Nb = Application.CommandBars.Count
    [A1].Resize(, 2).Value = Array("Caption", "ID")
    DerL = [A65536].End(xlUp).Row + 1
     
    For X = 1 To Nb
        For Each B In Application.CommandBars.Item(X).Controls
        Cells(DerL, 1) = B.Caption
        Cells(DerL, 2) = B.ID
        DerL = DerL + 1
        Next
    Next
     
    Range("A1:B1").EntireColumn.AutoFit
    Set a = Nothing: Set B = Nothing
     
    End Sub
    Dans la colonne Caption, tu devrais trouver "Sécurité...", vérifie que son ID est bien 3627

  19. #39
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 523
    Points : 147
    Points
    147
    Par défaut
    effectivement, ça colle pourtant...

  20. #40
    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 : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Tu as bien l'onglet Développeur dans le ruban ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [AC-2010] Erreur sur Code VBA pour enregistrement d'un document publiposté word
    Par AudREN dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/09/2014, 13h22
  2. Réponses: 6
    Dernier message: 18/11/2013, 17h48
  3. Code vba pour ouverture en mode calcul sur ordre
    Par ciambe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/05/2013, 13h01
  4. [XL-2010] Code VBA pour trier sur combobox
    Par duplaly dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/04/2011, 17h56
  5. [XL-2007] code vba pour cliquer sur un bouton dans internet explorer
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2011, 20h21

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