Voila mon probleme:
Comment faire une recherche sous VB (.find) dans un classeur différent de celui dans lequel je crée ma macro ??

( c'est la premiere fois que je programme sous VB donc soyez indulgent par rapport au code inutile... )

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
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim C As Range
Set C = Intersect(Target, Range("G13:AD29"))
If C Is Nothing Then Exit Sub

Dim ColonneInfo1 As Range
Dim ColonneInfo2 As Range
Dim Parametre As Range
Dim Identifiant As Range

Set ColonneInfo1 = Range("F:F")
Set ColonneInfo2 = Range("AE:AE")
ColonneInfo1.Clear: ColonneInfo2.Clear
Cells(9, 6).Value = "Colonne Info": Cells(9, 31).Value = "Colonne Info"

Colonne = ActiveCell.Column
Ligne = ActiveCell.Row

Set Parametre = Cells(11, Colonne)
Set Identifiant = Cells(Ligne, 1)
If Parametre Is Nothing Or Identifiant Is Nothing Then Exit Sub

Param = Parametre.Value

' Je veux rechercher la case contenant Param dans la 1ere colonne
' d'un autre classeur que celui sous lequel je crée la macro

MsgBox Param
MsgBox "ok"

End Sub



J'ai essayé avec un code du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(Param,'[Tables.xls]Tables'!R12C1:R905C2,2,FALSE)"
mais bien sur ca ne fonctionne pas (cf Param)

Merci d'avance!


Si vous voulez plus de précisions:

Sous Excel j'ai créé un tableau, dont la premiere ligne est une liste de paramètres et la premiere colonne une liste d'indentifiant.
Chaque case du tableau (rempli à chaque utilisation) doit correspondre à la valeur du paramètre pour l'identifiant. Ce remplissage du tableau se fait manuellement, mais il y a beaucoup de valeurs différentes possibles pour les parametres, et qui ne sont pas les memes selon chaque identifiant.

J'ai donc commencé à créer sous VB une fonction qui affiche dans des "colonnes info" les différents parametres possibles pour la case sélectionnée.