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 :

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
Lors du premier passage dans la boucle for tout se passe comme prévu.

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.