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
mais bien sur ca ne fonctionne pas (cf Param)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2ActiveCell.FormulaR1C1 = _ "=VLOOKUP(Param,'[Tables.xls]Tables'!R12C1:R905C2,2,FALSE)"
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.
Partager