Bonjour à tous,,

Je ne connais pas du tout le VBA et j'ai un programme à faire. J'ai donc suivie des tuto, les aides sur les forums etn j'en suis arrivé au programme ci-dessous.
Le but de se programme est d'ouvrir un tableau A dans lequel je vais chercher un chiffre renseigné dans une cellule. Ce chiffre est le numéro de la ligne qui me sert de reference pour aller chercher une valeur dans une cellule d'un tableau B. Une fois cette nouvelle valeur obtenu je retourne la mettre dans une autre cellule du tableau A (même ligne mais colonne différente que la première recherche d'info dans le tableau A).

Mes 2 tableaux sont dans des fichiers différents alors j'ai essayé de récupéré le nom du fichier et de la feuille du tableau A avant d'ouvrir le second fichier par la macro Excel (nommé MyFile dans mon programme).
Malheureusement la première ligne de ma boucle for, Workbooks... bug (peut-être que le reste buguera par la suite).

Auriez-vous une explication s'il vous plait? Une base de la programmation que je n'ai pas compris?

Merci d'avance pour vos réponses.

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
Public Sub Transferdonnees()
 
Dim LineRef As Integer
Dim ColumnRef As Integer
Dim TableauA As String
Dim Tableau As String
 
Dim CellRef As String
Dim Weight As Double
 
Dim MyFile As String
 
 
TableauA = ActiveWorkbook.Name
Tableau = ActiveSheet.Name
 
MyFile = Application.GetOpenFilename(, , "Open a Bookmark A2mac1", , False)
 
Workbooks.Open (MyFile)
 
LineRef = 15: ColumnRef = 21
 
For I = 0 To 368
    Workbooks(TableauA).Open
    Sheets(Tableau).Select
    CellRef = Cells(LineRef, ColumnRef).Value 'Lire la cellule de la feuille tableur(LineRef,colonne u)'
    Workbooks.Open (MyFile)
    Weight = Cells(CellRef, 13).Value 'Lire la masse dans le bookmark'
    Workbooks(Tableau).Activate
    Cells(LineRef, 6) = Weight 'Attribuer la masse au tableau'
 
    LineRef = LineRef + 1
Next
 
 
End Sub