Bonjour. Je m'excuse de ne pas avoir su retrouver l'instrument de recherche dans le forum, mais de toute façon, cela m'étonnerait un peu que ce problème ait été déjà traité.

Depuis un courrier électronique reçu, je copie et colle en Excel 2010 une liste de liens qui constituent une revue de presse.
Le but étant de pouvoir envoyer à l'imprimante par défault l'impression de chacun des articles, d'un seul coup (ils peuvent être plusieurs dizaines par envoi).
Or, sur un autre forum, on m'a aidé à construir le code suivant; pour vous faire comprendre mon niveau: j'ai écrit la première macro et on m'a écrit la deuxième. Je leur suis particulièrement reconnaissant... mais cela ne marche pas; les pages s'affichent dans IE au lieu de s'imprimer.
Quelqu'un saurait m'aider à comprendre le problème?
Les commentaires et noms de variables sont en italien.
Je ne comprends même pas ce que sont les OLECMD, j'ai une idée bien confuse de ce que sont les Const (une sorte de variable... invariable, n'est-ce pas?).
Enfin... 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
Option Explicit
 
Dim URL As String
 
Sub CicloDiStampa()
Dim ur As Integer, r As Integer
    ur = Cells(65536, 1).End(xlUp).Row
    For r = 1 To ur
        If Cells(r, 1).Hyperlinks.Count <> 0 Then
            URL = Cells(r, 1).Hyperlinks(1).Address
            stampa
        End If
    Next
End Sub
 
Sub stampa()
Dim oIExplorer As Object, wscript As Object
 
    On Error Resume Next
    'il valore 6 corrisponde alla stampa
    Const OLECMDID_PRINT = 6
    'Const OLECMDID_PRINT2 = 49
    'con 2 eseguo il comando senza chiedere conferma
    Const OLECMDEXECOPT_DONTPROMPTUSER = 2
 
    Set oIExplorer = CreateObject("InternetExplorer.Application")
    'carico l'indirizzo trovato
    oIExplorer.Navigate URL
 
    'imposta = 1 se vuoi aprire (o meglio vedere) la pagina web
    oIExplorer.Visible = 0
 
    'attendo che la pagina sia caricata
'    Do While oIExplorer.ReadyState <> 4
'        wscript.sleep 1000
'    Loop
    oIExplorer.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
    'oIExplorer.ExecWB OLECMDID_PRINT2, OLECMDEXECOPT_DONTPROMPTUSER
 
End Sub