Bonjour à tous
Voilà plusieurs jours que je suis en panne. Je recherche le moyen de trouver l'adresse et la valeur d'une cellule dans un fichier fermé.
J'ai une valeur dans une variable, que je dois trouver dans la colonne A de la feuille 1 d'un fichier fermé.
Une fois trouvée, je dois récupérer l'adresse et la valeur de la cellule en G de cette même ligne. Exemple :
Dans fichier fermé :
A B C D E F G
1
2 - - - - - 50
3
4
J'ai var="2" je dois récupérer :
Trouve.adresse = G2
Trouve.valeur = 50
J'emploie ce code :
Mais je n'arrive à rien. Je tourne en rond, et c'est agaçant.
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
41
42 Sub DonneesRECHERCHEESClasseursFermes() Dim Source As ADODB.Connection 'activer la référence Microsoft ActiveX Data Objects x.x Library Dim Rst As ADODB.Recordset Dim ADOCommand As ADODB.Command Dim Feuille1 As String Dim Fichier As String Dim Var As String Dim maplage As Range Var = "2" 'qui peut être string ou integer .. maplage = "A1:G4" Feuille1 = "Feuil1$" Fichier = "C:\Base.xls" Set Source = New ADODB.Connection Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";" Set ADOCommand = New ADODB.Command With ADOCommand .ActiveConnection = Source .CommandText = "SELECT * FROM [" & Feuille1 & ?????????????????? & "]" End With Set Rst = New ADODB.Recordset Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic Set Rst = Source.Execute("[" & Feuille1 & ?????????????????? & "]") Trouve.ligne = ? 'Rst.row ???????? Trouve.adresse = ? 'Rst.address ???????? Trouve.valeur = ? 'Rst.Value ???????? Range("A1").CopyFromRecordset Rst.address ???????? Range("A2").CopyFromRecordset Rst.Value ???????? Rst.Close Source.Close Set Source = Nothing Set Rst = Nothing Set ADOCommand = Nothing End Sub
Et dans la même veine, comment récupère-t-on l'adresse d'une variable qui se situe dans une plage d'un fichier fermé ? avec l'exemple du début, j'ai Var = "50", je dois récupérer Trouve.adresse = G2.
Merci d'avance de votre aide
Eric
Partager