Bug de programmation (DEBUTANT)
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:
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 |