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 :

Afficher le résultat d'une macro


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Afficher le résultat d'une macro
    Bonjour à tous,

    1. Je souhaite lancer une macro depuis une feuille excel et que le résultat de la macro s'affiche dans une autre feuille.

    2. Est-il possible de lancer 2 macros à la suite à partir d'un même bouton

    Merci pour votre aide .

  2. #2
    Membre habitué
    Avatar de benjamin_musique
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 54
    Points : 182
    Points
    182
    Billets dans le blog
    1
    Par défaut
    bonjour,

    tu dois programmer tout ça en VBA.
    je te conseille de potasser la doc microsoft :
    http://msdn2.microsoft.com/en-us/lib...ffice.11).aspx

    (dans mon immense bonté je t'ai positionné à la page qui répond à ta question 1 )

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par joegalere Voir le message
    Bonjour à tous,

    1. Je souhaite lancer une macro depuis une feuille excel et que le résultat de la macro s'affiche dans une autre feuille.

    2. Est-il possible de lancer 2 macros à la suite à partir d'un même bouton

    Merci pour votre aide .
    Peux-tu préciser une peu plus ce que tu souhaites réaliser?

    Merci

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    J'ai la macro suivante qui récupère des données du web dans Excel:

    J'ai dupliqué cette macro par ce que j'ai 2 adresses web

    Je souhaite créer un bouton et coller les 2 macros dessus. Le bouton sera placé dans une autre feuille que celle ou j'attends le résultat. Et je lancerai la macro depuis cette feuille.

    Merci d'avance.

    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
    46
    Sub Importer_Average_tableauPageWeb()
    'Activez les références
        'Microsoft HTML Objects Library
        'et
        'Microsoft Internet Controls
     
     Dim IE As InternetExplorer
     Dim maPageHtml As HTMLDocument
     Dim Htable As IHTMLElementCollection
     Dim maTable As IHTMLTable
     Dim j As Integer, i As Integer
     
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = False
     
    IE.navigate "http://www.banque-france.fr/fr/poli_mone/taux/html/4.htm"
    Do Until IE.readyState = READYSTATE_COMPLETE
    DoEvents
    Loop
     
    Set maPageHtml = IE.document
    'objet type table
    Set Htable = maPageHtml.getElementsByTagName("table")
     
    '12ème tableau dans la page Web
    Set maTable = Htable(11)
     
    Application.ScreenUpdating = False
    'boucle sur toutes les lignes du tableau
    For i = 1 To maTable.Rows.Length
        'boucle sur les cellules dans chaque ligne
        For j = 1 To maTable.Rows(i - 1).Cells.Length
        Cells(i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText
        Next j
    Next i
     
     
    Columns("A:G").AutoFit
     
    Application.ScreenUpdating = True
     
    MsgBox "Opération terminée."
    IE.Quit
    Set IE = Nothing
     
    End Sub

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par joegalere Voir le message
    J'ai la macro suivante qui récupère des données du web dans Excel:

    J'ai dupliqué cette macro par ce que j'ai 2 adresses web
    ...
    Plutôt que de dupliquer la macro (imagine, si tu dois l'adapter, ce sera galère pour corriger des deux côtés), Passe un paramètre à ta macro, adapte le code à l'intérieur de la macro pour qu'il utilise la variable passée ne paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sub Importer_Average_tableauPageWeb(Lien1 as string)
    ...
    et lance deux fois la macro en adaptant le lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sub Importer()
        Importer_Average_tableauPageWeb "http://www.lien1.com"
        Importer_Average_tableauPageWeb "http://www.lien2.com"
    end sub
    Ok?

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    mais je souhaite avoir le résultat de chaque macro sur une feuille différente et lancer les macros d'une autre feuille.

    Merci beaucoup pour ton aide

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    J'ai exposé le principe... A toi d'adapter.

    Rien n'empêche, à l'intérieur de la macro, de choisir les feuilles en fonction du lien passé en paramètre, voire de passer un deuxième paramètre avec le nom de la feuille à utiliser...

    Vois-tu comment faire?

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Merci pour le principe mais je suis pas spécialiste du code j'apprends.

    Si tu veux bien m'aider ci-joint la macro à ajuster


    Les deux adresses sont les suivantes :
    http://www.banque-france.fr/fr/poli_...aux/html/3.htm
    http://www.banque-france.fr/fr/poli_...aux/html/4.htm

    Merci d'avance


    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
    46
    47
    Sub Importer_Average_tableauPageWeb()
    'Activez les références
        'Microsoft HTML Objects Library
        'et
        'Microsoft Internet Controls
     
     Dim IE As InternetExplorer
     Dim maPageHtml As HTMLDocument
     Dim Htable As IHTMLElementCollection
     Dim maTable As IHTMLTable
     Dim j As Integer, i As Integer
     
     
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = False
     
    IE.navigate "http://www.banque-france.fr/fr/poli_mone/taux/html/4.htm"
    Do Until IE.readyState = READYSTATE_COMPLETE
    DoEvents
    Loop
     
    Set maPageHtml = IE.document
    'objet type table
    Set Htable = maPageHtml.getElementsByTagName("table")
     
    '12ème tableau dans la page Web
    Set maTable = Htable(11)
     
    Application.ScreenUpdating = False
    'boucle sur toutes les lignes du tableau
    For i = 1 To maTable.Rows.Length
        'boucle sur les cellules dans chaque ligne
        For j = 1 To maTable.Rows(i - 1).Cells.Length
        Cells(i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText
        Next j
    Next i
     
     
    Columns("A:G").AutoFit
     
    Application.ScreenUpdating = True
     
    MsgBox "Opération terminée."
    IE.Quit
    Set IE = Nothing
     
    End Sub

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Essaie d'expliquer, en français (sans code vba) ce que tu souhaites réaliser. Dans ton précédent message, tu ne dit pas ce qu'il en est des différentes feuilles que tu souhaites utiliser.

    Si tu souhaites une aide pertinente, sois pertinent dans tes explications...

    Et pense aux balises CODE. Lorsque tu as copié-collé ton texte dans le message, sélectionne-le puis clique sur le bouton # de la barre d'outils. Cela encadrera ton code et le rendra plus lisible

  10. #10
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Ok désolé,

    Je souhaite récupéreé la table des taux moyens et taux de clôture de la banque de france (données du web).

    La macro ci-dessus me permet de la faire.

    Ensuiste, une fois récupérer ces données je fais des calculs excel. Une feuille excel correspond à une table taux. J'ai donc 2 feuilles excel une pour les calculs en taux moyens, une pour les calculs en taux de clôture. Tous les calculs sont automatiques.

    Je rapatrie mes résultats sur une 3ème feuille excel (lien excel).

    Ce que je souhaite c'est pouvoir lancer les macros depuis cette feuille pour éviter de naviguer dans les autres.

    Pour celà je dois être capable dire en VB ou je souhaite récupérer les données taux.

    Enfin, je souhaite affecter la macro à un bouton donc indéxé l'url.

    J'espère que celà te permettra de m'aider.

    Merci encore

  11. #11
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    J'ai trouvé merci à tous.

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

Discussions similaires

  1. [XL-2003] Afficher les résultats d'une macro dans une fenêtre popup
    Par sphyncks dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2009, 09h39
  2. Réponses: 5
    Dernier message: 17/06/2006, 12h33
  3. Réponses: 5
    Dernier message: 14/06/2006, 15h19
  4. Réponses: 3
    Dernier message: 25/11/2005, 14h51
  5. [QReport] Afficher le résultat d'une requete
    Par PFX dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/05/2005, 14h38

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