Bonjour,
Depuis un moment je cherche une solution au problème suivant :
Je cherche à créer une macro qui ouvre un fichier excel et qui effectuer un copier/coller des valeurs contenues dans toutes les feuilles (en fait à partir de la deuxième feuille) car il me faut supprimer toutes les formules.
Voici mon code :
Lors du premier passage dans la boucle for tout se passe comme prévu.
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 Dim ClasseurR As Workbook Dim i As Integer Dim numcol As Integer Dim jdeb As Integer, jfin As Integer Set ClasseurR = Application.Workbooks.Open(message) message = "" NumFeuille = ClasseurR.Worksheets.Count i = 2 For i = 2 To NumFeuille Step 1 numcol = ClasseurR.Worksheets(i).Range("B1").SpecialCells(xlCellTypeLastCell).Column jdeb = numcol + 1 jfin = numcol * 2 ClasseurR.Worksheets(i).Range(Columns(1), Columns(numcol)).Copy 'ClasseurR.Worksheets(i).Cells(1, jdeb).Select ClasseurR.Worksheets(i).Range(Columns(jdeb), Columns(jfin)).PasteSpecial Paste:=xlPasteValues ClasseurR.Worksheets(i).Range(Columns(1), Columns(numcol)).Delete Application.CutCopyMode = True Next i
Mais lors du deuxième passage j'ai un message d'erreur : erreur '1004' Erreur définie par l'application ou par l'objet sur la ligne ClasseurR.Worksheets(i).Range(Columns(1), Columns(numcol)).Copy
Je me suis dit que l'objet Range avait peut-être besoin d'être réinitialisé (indice limite par exemple) mais je n'ai rien trouvé à ce sujet.
Si l'un ou l'une d'entre vous avez déjà rencontré et solutionné ce problème, merci à l'avance.
Partager