Grâce aux conseils lus notamment sur ce site, j'ai réduit mon temps d'exécution de plusieurs dizaines de secondes à 1 seconde. Mainteant il me reste à réduire la durée d'exécution des commandes hors code VBA.
En effet, ma procédure consiste à utiliser des données récupérées sur une page Internet ou dans un document .pdf. Pour ce faire, voir code ci-dessous, j'utilise [ctrl]a + [ctrl]c : l'ensemble dure une douzaine de secondes ; je voudrais donc générer automatiquement ces deux commande de copie. Est-ce possible ?
Merci d'avance
Récupération d'une page ADOBE
Récupération d'une page INTERNET
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim NomAppli NomAppli = "C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe " racine = "d:\tennis\tournois " année = Year(Date) tournoi = racine & année & "\lyon.pdf" Call Shell(NomAppli & tournoi, 3) MsgBox "COPIER LES RESULTATS DU TOURNOI" '[ctrl]a + [ctrl]c Sheets("image").Select Range("A1").Select ActiveSheet.Paste
Les MSGBOX ont uniquement là pour arrêter la procédure en attendant la sasie des données
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dim NomAppli, AdresseHTTP NomAppli = "C:\Program Files\Internet Explorer\IEXPLORE.EXE " AdresseHTTP = "http://www.atptennis.com/5/en/rankings/EntrySystem/default.asp?rank=100&country=&RankDate=" & "10/15/2007" n = NomAppli + AdresseHTTP Call Shell(n, 3) MsgBox ("COPIER LE CLASSEMENT DES 100 PREMIERS MONDIAUX") '[ctrl]a + [ctrl]c ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:= _ False
Partager