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 .
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 .
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)
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
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
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
et lance deux fois la macro en adaptant le lien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub Importer_Average_tableauPageWeb(Lien1 as string) ...
Ok?
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
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
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
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?
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Partager