Bonjour,

j'ai commencé le VBA il y a quelques jours pour automatiser un traitement de données. Mais, je suis confronté à un problème que je n'arrive pas à résoudre.

Le logiciel que j'utilise me permet d'exporter les données sous Excel, sous la forme d'un fichier avec une unique feuille de calcul. Je souhaite composer un ensemble de macros permettant de sortir rapidement des courbes et de les exploiter.

Dans ce but, je comptais dans un premier temps créer de nouvelles feuilles dans ce fichier, et couper/coller les données afin de les classer, par série de donnée. Mais là au moment de coller mes données dans une autre feuille, je suis confronté à un problème qui, malgré mes efforts, persiste.

Je sollicite donc votre aide.

Voici le code, et le message d'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
Option Explicit
Sub Initialize()
ActiveSheet.Name = "Traitement"
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Synthèse"
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Données Brutes"
Worksheets("Traitement").Activate
Call BrutMove
End Sub
 
Sub BrutMove()
Dim CelJour As Range, L As Long, Brut As Range
Set CelJour = Cells.Find("Jour ")
If Not CelJour Is Nothing Then L = CelJour.Row
Set Brut = Range(Cells(L, 1), Cells(L + 8761, 160))
Brut.Cut
'Worksheets("Données Brutes").Activate
ThisWorkbook.Worksheets("Données Brutes").Range("A1").Paste
End Sub
L'indice n'appartient pas à la sélection.
Mes macros sont liées à un autre fichier que celui où je souhaite traiter mes données. A ce propos, comment fait-on pour enregistrer des macros de manière "générale", c'est à dire n'étant pas enregistrées avec un classer excel ?

Je suis aussi ouvert à toute proposition sur la manière d'organiser ce travail : est-ce plus pratique/facile/mieux de faire un fichier où les macros seront centralisées et d'aller chercher ensuite les données dans le fichier (qui porte un nom variable selon l'étude) ?

Merci d'avance à tous,

4A