Bonjour,

J'ai un code qui cherche dans les classeurs des mots et les fait apparaitre en rouge
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Set Wb = Workbooks.Open(Repertoire & Fichier)
 
      For Each cellule In Range("A1:A300")
        If UCase(cellule.Value) Like "*" & UCase(mot) & "*" Then
 
          'ici on mettra en gras rouge
          cellule.Font.Color = vbRed
          cellule.Font.Bold = True
          Set j = cellule
          Application.ScreenUpdating = False
        End If
: ouvre le classeur, recherche dans les cellules A1:A300 le mot et le met en rouge. Le souci c'est l'ouverture "physique" du classeur....je souhaiterais ne pas l'ouvrir "physiquement".
J'ai essayé de changer, modifier, et d'adapter le code de SilkyRoad
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
Sub Requeteliste()
    Dim Cn As ADODB.Connection
    Dim Fichier As String
    Dim NomFeuille As String, texte_SQL As String
    Dim Rst As ADODB.Recordset
    Application.Calculation = xlCalculationManual
    'Définit le classeur fermé servant de base de données
    Fichier = "C:\essais\miseajour.xls"
    'Nom de la feuille dans le classeur fermé
    NomFeuille = "Listes"
 
    Set Cn = New ADODB.Connection
 
    '--- Connection ---
    With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & Fichier & _
            ";Extended Properties=Excel 8.0;"
        .Open
    End With
    '-----------------
 
    'Définit la requête.
    '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
    texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
 
    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)
 
    'Ecrit le résultat de la requête dans la cellule A2
 
    ThisWorkbook.Sheets("Listes").Range("A2").CopyFromRecordset Rst
 
 
    '--- Fermeture connexion ---
    Cn.Close
    Set Cn = Nothing
J'ai prévu de boucler sur les classeurs xls du dossier "essais", afin de boucler sur la lecture classeur fermé, mais je n'arrive pas à inclure mon code de recherche.....je vois bien qu'il faut que je remplace la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ThisWorkbook.Sheets("Listes").Range("A2").CopyFromRecordset Rst
pa mon code de recherche, mais ça ne fonctionne pas....ou alors (mais c'est que je crois comprendre), c'est que le language ADO a des subtilités qui m'échappe...

Des idées ?

Merci,
A+