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

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
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
 
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
Les MSGBOX ont uniquement là pour arrêter la procédure en attendant la sasie des données