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-E] Questions en Vrac...


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut [VBA-E] Questions en Vrac...
    Bonsoir,

    Tout d'abord, je tiens à m'excuser de mon ignorance en vba : mon dada, c'est plutôt le C sur des systèmes embarqués, sous nux... Donc bien loin de vba...
    Donc pataper si les questions sont débiles...

    Pour rendre service à mon père, je lui développe quelques macros. J'ai pas mal butiné sur le woueb, et j'ai réussi à faire plus ou moins ce que je voulais.

    Mais malgré tout, j'ai encore quelques questions...

    1)
    Tout d'abord, j'ai une macro qui bosse sur une feuille. Pour le moment, afin de référencer ladite feuille, j'ai codé en dur ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set mafeuille = ThisWorkbook.Worksheets("Feuil1")
    Ce que j'aurais voulu, c'est récupérer dynamiquement le nom de la feuille en question.... J'ai bien essayé avec une inputbox, pour récupérer une string que j'aurais passé en index à Worksheets, mais ça plantouille lamentablement....

    2)
    Dans une autre macro, je cherche à laisser la possibilité à l'utilisateur d'ouvrir un classeur déjà existant (via Application.GetOpenFilename), mais j'aimerai qu'il puisse créer un classeur, avec une boite de dialogue similaire (de façon à la créer où il le souhaite, sans passer de chemin, ni rien...)
    Je suis bien tombé sur la fonction GetSaveAsFilename, mais ça plante...
    Alors soit je n'ai pas compris comment m'en servir, soit elle n'est pas faite pour ce que je crois...
    Donc si vous avez quelques lumières, elles sont les bienvenues

    Et désolé pour le roman
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Pour la première question, va voir là:
    http://www.developpez.net/forums/viewtopic.php?t=453656

    Ca devrait te donner une piste.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    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 543
    Points
    15 543
    Par défaut
    Hello,
    Je ne comprends pas bien ce que tu veux faire là :
    Dans une autre macro, je cherche à laisser la possibilité à l'utilisateur d'ouvrir un classeur déjà existant (via Application.GetOpenFilename), mais j'aimerai qu'il puisse créer un classeur, avec une boite de dialogue similaire (de façon à la créer où il le souhaite, sans passer de chemin, ni rien...)
    Si c'est "Ouvrir un classeur", tu as les boîtes de dialogue intégrées que tu peux ouvrir avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Application.Dialogs.Item(xlDialogOpen).Show
    Si c'est créer un autre classeur, tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Workbooks.Add
        Chemin = "D:\xls\"
        ActiveWorkbook.SaveAs Chemin + "NouveauClasseur.xls"
    Peux -tu préciser ?

    A+

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut Re: [VBA-E] Questions en Vrac...
    Citation Envoyé par Pouic
    1)
    Tout d'abord, j'ai une macro qui bosse sur une feuille. Pour le moment, afin de référencer ladite feuille, j'ai codé en dur ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set mafeuille = ThisWorkbook.Worksheets("Feuil1")
    Ce que j'aurais voulu, c'est récupérer dynamiquement le nom de la feuille en question.... J'ai bien essayé avec une inputbox, pour récupérer une string que j'aurais passé en index à Worksheets, mais ça plantouille lamentablement....

    tu peu aussi accéder au feuilles par leur numéro..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set mafeuille = ThisWorkbook.Worksheets(1)
    la proprièté .Name te renvoi le nom..., tu peu pour le choix de la feuille utiliser un userform dans lequel tu colle une combobox..



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    '
    ' Initialise conbobox à l'ouverture
    '
    Private Sub UserForm_Initialize()
      For Each f In ThisWorkbook.Sheets
        ComboBox1.AddItem f.Name
      Next
    End Sub
     
    Private Sub ComboBox1_Change()
    MsgBox "Selection feuille " & ComboBox1
    End Sub

  5. #5
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Merci de vos réponses
    Je testerai tout ça chez moi ce soir, je vous tiendrai au courant...

    Sinon, quant à mon histoire d'ouverture de classeur, je m'explique :
    j'aimerais que l'utilisateur puisse soit selectionner un classeur existant (sur lequel je lancerai ma macro), soit qu'il puisse saisir un nouveau nom de classeur (que je créerai via Workbook.add, enfin j'imagine...), et sur lequel je lancerai aussi ma macro

    En gros, qu'il puisse faire un "Ouvrir", et que si le nom qu'il saisit ne référence pas un classeur existant, le classeur correspondant soit créé....
    Comme ça je récupère ce classeur (nouvellement créé ou non), et je bosse dessus...

    J'espère avoir été un peu plus clair...
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    tiens pour l'ouverture...
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 08/02/2006 par pb
    '
     
    '
        Sheets(Array("Feuil2", "Feuil3")).Select
        Sheets("Feuil2").Activate
        Range("B10").Select
        ActiveCell.FormulaR1C1 = "12"
        Range("B11").Select
    End Sub
    Sub Macro2()
    '
     
    For i = 3 To Sheets.Count
      Sheets(i).Select (i = 3)
     
    Next i
     
    End Sub
     
     
     
    Sub OuvreClasseur()
     Dim St
      Dim wk As Workbook
     St = Application.GetSaveAsFilename("", "Fichier xls (*.xls), *.xls", 1, "Nom du fichier")
     If St = "Faux" Then Exit Sub 'Abandon opérateur
     If Dir(St) = "" Then
        'Le fichier n'existe pas il est créé..
         Set wk = Workbooks.Add
         wk.SaveAs St
        Else
         Set wk = Workbooks.Open(St)
     End If
     
     'Quelques lignes d'exmple supplémentare pour agir sur fichier Sélectionné/créé...
     wk.Activate
     wk.ActiveSheet.Range("A3").Activate 'Par exemple
     MsgBox wk.Name
     '.....
     
    End Sub

  7. #7
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Merci beaucoup

    Je teste tout ça ce soir, mais je pense que ça repondra à mes besoins

    Je met le sujet en Résolu pour le moment, si j'ai des problèmes, je reviendrai vous voir
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

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

Discussions similaires

  1. Petites questions en vrac d'un débutant.
    Par kriskikout dans le forum Langage
    Réponses: 6
    Dernier message: 08/06/2006, 14h54
  2. [VBA-E]question simple
    Par David38 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/03/2006, 16h16
  3. [VBA-E] Questions d'ordre generale
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/02/2006, 13h37
  4. [VBA-E] Question à propos des checkbox
    Par Timfg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/04/2005, 15h09
  5. [VBA-E] Question sur la méthode "SaveAs"
    Par Flateric dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/04/2005, 14h18

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