Bonjour
Je débute sur VBA, je maitrise mal la syntaxe et j’ai du mal à réaliser un code assez simple.
A l’aide de ce forum et de l’enregistreur, j’ai créé un code qui a pour objet :
1. à partir du classeur ouvert, d’en ouvrir un second : OK
2. de recherche dans une colonne la dernière cellule vide puis d’y affecter une valeur égale à N+1 par rapport à la valeur précédente : OK
3. de copier – coller cette valeur ainsi affectée, dans mon classeur d’origine : KO
Mon code bloque sur cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part HADDOCK.Sheets("Projet").Range("B15").FormulaR1C1 = BDD.Sheets("BDD").ActiveCell.Offset(0, 0).ValuePourriez-vous m’aider et m’expliquer la cause de l’erreur ?
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 Sub Enregistrer_Projet() ' cette macro ouvre le classeur BDD, affecte un numéro de chrono N+1 par rapport au précédent, ' puis enregistre et referme BDD et colle dans le fichier depuis lequel la macro s'exécute, le numéro de chrono ainsi attribué. Dim BDD As Workbook, HADDOCK As Workbook Set HADDOCK = ThisWorkbook Workbooks.Open Filename:= _ "G:\dse\1 - DAT GHT 49\SI ACHATS\OUTIL LOCAL\HADDOCK BASE DE DONNEES.xlsx" Range("A1").Select Set BDD = ActiveWorkbook BDD.Sheets("BDD").Cells(Rows.Count, 1).End(xlUp)(2).Select ActiveCell.Offset(0, 0).FormulaR1C1 = ActiveCell.Offset(-1, 0) + 1 HADDOCK.Sheets("Projet").Range("B15").FormulaR1C1 = BDD.Sheets("BDD").ActiveCell.Offset(0, 0).Value ActiveWorkbook.Save ActiveWindow.Close HADDOCK.Save End Sub
Merci.
Partager