Je voudrais copier une série de valeur d'une feuille (Saisie) d'un classeur (Bilan) vers un autre classeur (TRIM1,2,3,4 selon le trimestre).
J'ai une erreur qui apparaît, la 9 mais je ne vois pas du tout où je pourrais avoir faux...
Voici ma macro :
Sub TRIM()
Select Case Workbooks("Bilan.xls").Worksheets("Hebdo1").[A1].Value
Case 1, 2, 3
Workbooks.Open Filename:="W:\…\TRIM1.xls"
Workbooks(ClassOuv).Worksheets("a").Range("A3:BA3").Value = Workbooks("Bilan.xls").Worksheets("Saisie").Range("A5:BA5").Value
Case 4, 5, 6
Workbooks.Open Filename:=" W:\…\TRIM2.xls "
Workbooks(ClassOuv).Worksheets("a").Range("A3:BA3").Value = Workbooks("Bilan.xls").Worksheets("Saisie").Range("A5:BA5").Value
Case 7, 8, 9
Workbooks.Open Filename:=" W:\…\TRIM3.xls "
Workbooks(ClassOuv).Worksheets("a").Range("A3:BA3").Value =
Workbooks("Bilan.xls").Worksheets("Saisie").Range("A5:BA5").Value
Case 10, 11, 12
Workbooks.Open Filename:=" W:\…\TRIM4.xls.xls"
Workbooks(ClassOuv).Worksheets("a").Range("A3:BA3").Value = Workbooks("Bilan.xls").Worksheets("Saisie").Range("A5:BA5").Value
End Select
FermTRIM
End Sub
Sub FermTRIM() 'Ferme tous les classeurs sauf Bilan
ActiveWorkbook.Close SaveChanges:=True
End Sub
Je voudrais, lorsque je copie ma série de valeur sur la ligne de mon autre classeur, que le lendemain (puisque cela s'effectue une fois par jour) cette nlle ligne avec les nlles valeurs donc s'insert mais en dessous de celle de la veille. J'ai trouvé une macro mais elle me fait le contraire c'est à dire qu'elle insert une ligne au dessus.
Alors qu'en est-il ?
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.
Je n'ai pas pu tester les fichiers excel mais merci bcp !!!
J'ai testé par contre le premier code par contre, je n'ai que ma cellule B qui se remplie... J'ai donc noté ceci, ca fonctionne mais je pense qu'il doit y avoir une autre solution pour alléger ma macro :
Sheets("Relevé Jour").Select
derLV = Range("B65536").End(xlUp).Row + 1 (je commence dans la colonne B en fait)
Cells(derLV, 1).Select
pour connaître la première ligne vide de la colonne B oui il faut :
derLV = Range("B65536").End(xlUp).Row + 1
pour selectionner la cellule c'est juste
si tu as suivi mon exemple il ne devrait pas y avoir de blème !!!!
c'est ici que je ne pige pas ;-)))
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.