Bonjour,
J'ai un code qui cherche dans les classeurs des mots et les fait apparaitre en rouge: 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".
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
J'ai essayé de changer, modifier, et d'adapter le code de SilkyRoadJ'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
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 = Nothingpa 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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part ThisWorkbook.Sheets("Listes").Range("A2").CopyFromRecordset Rst
Des idées ?
Merci,
A+
Partager