Programmer sur excel ou visual basic - Page 3

Précédent
  • 1
  • 2
  • 3
  1. ariel
     
    bonsoir!
    juste de question de mettre à jour ma discussion afin d'augmenter mes chances d'avoir un élément de réponse au problème que j'ai énoncé à la discussion précédente pour Nico et celle N°39 pour tous.
    Merci d'avance!
    0
  2. nicodoudou Messages postés 48 Statut Membre 44
     
    http://homepage.ntlworld.com/nicolas.doulin/Macroperso.pdf

    Va sur ce lien et si c pas clair dit le moi je changerai mon topic

    a+
    0
  3. ariel
     
    Bonjour à vous!
    J'ai réussi l'enregistrement dans dans le "classeur des macros personnelles", merci Nico pour la leçon.
    La remarque que je ferai est le fait que la macro ne s'exécutera que si les classeurs concernés sont au préalable ouverts. Alors, n'y a-t-il pas une propriété sur VBA qui permet d'ouvrir un fichier existant mais fermé?
    Autre chose, s'il vous plaît. (Ah, j'ai tellement de questions auxquelles j'arrive pas à donner de réponses que je me sens lourde. Excusez-moi si c'est le cas)
    Y a-t-il un moyen sur VBA de protéger une macro de toute modification étrangère: un système de protection en lecture et en écriture, mots de passe par exemple?
    Merci encore!
    0
  4. Polux31 Messages postés 7219 Statut Membre 1 204
     
    bonjour Ariel,

    Juste pour répondre sur la protection ... Tu peux protéger tes modules par Outils -> Propriétés de VBAProject ... puis sur l'onglet protection dans l'éditeur VB. Tu tapes un mot de passe. Le code ne sera être vu que si l'on donne le mot de passe.

    ;o)

    Polux
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ariel
     
    Bonjour à tous et merci à Polux pour son intervention. j'ai essayé et ça marche.
    Bonne journée à vous!
    0
  7. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    De rien Ariel ... Pour la question "n'y a-t-il pas une propriété sur VBA qui permet d'ouvrir un fichier existant mais fermé?
    ", il me semble que oui. Fais un tour sur le site http://www.developpez.com, onglet Visual Basic, la F.A.Q. VBA, je crois qu'il y a une question la dessus ...

    Bonne continuation

    ;o)

    Polux
    0
  8. ariel
     
    c'est ok pour le lien Polux je me suis retrouvée.
    je me débrouillerai et ne manquerai de vous faire signe au cas où.
    Bonne continuation
    0
  9. ariel
     
    Bonjour,
    j'aimerais pouvoir affecter à une variable le nom du fichier que j'ouvre avec l'objet getopenfilename et je n'ai aucune notion sur le sujet. Pour l'instant l'instruction que j'ai écrite est:

    Sub macro()
    dim source
    source = Application.Workbooks.Open(Application.GetOpenFilename())
    end sub

    Naturellement, cela me crée un bug. Pourquoi et comment déboger alors?
    Merci d'avance!
    0
  10. nicodoudou Messages postés 48 Statut Membre 44
     
    En fait il fqut que tu le fasses en deux étapes:

    Sub macro()
    Dim source
    fileToOpen = Application .GetOpenFilename(°

    source = ActiveWorkbook.Name

    End Sub

    A+

    Nico
    0
  11. ariel
     
    bonjour et merci Nico!
    Il faut dire qu'en vous soumettant mes difficultés je n'arrête pas de chercher les solutions de mon côté également. Je me suis rendu compte de l'option "le faire en deux étapes" et voici ma macro:

    sub macro()
    dim source
    Application.Workbooks.Open Application.GetOpenFilename()
    source = ActiveWorkbook.Name
    end sub.

    Elle marche mais j'ai un tout petit problème avec la vôtre: elle ne me permet d'ouvrir le fichier désiré. Ainsi, elle affecte à la variable "source" le nom d'un autre classeur actif au moment de l'exécution de la macro.
    Ce que j'aimerai comprendre c'est le rôle de "fileToOpen". J'ai également lu dans un tutoriel que pour pouvoir travailler avec deux classeurs simultanément il faut écrire la macro suivante:

    sub macro
    dim objworkbooksource, objworkbookcible
    set objworkbooksource=application.workbook.open(application.getopenfilename)
    set objworkbookcible=application.workbooks.add
    ...
    end sub

    Pouvez-vous m'expliquer littéralement cette macro? A quoi sert le "set"?
    J'ai essayé de résoudre le problème que je vous ai posé avec cette macro. L'instruction est exécutée mais apparemment elle n'affecte aucune donnée aux variables.
    Pourquoi?
    Merci d'avance.
    0
  12. Neverend Messages postés 21 Statut Membre 81
     
    Bonjour,

    Le Set permet de créer un objet et de l'instancier.

    0
Précédent
  • 1
  • 2
  • 3