Bonjour à tous,

Perdu après 48h de recherches et à cours de doliprane, je viens demander de l'aide.

J'ai créé le code ci dessous dans le but de copier dans un classeur excel dis "résumé", les uns en dessous des autres, les plannings de chaque formateurs présent dans un autre classeur (dans lequel chaque onglet est un formateur). Le planning étant modifié chaque jour, j'ai fait le choix de remettre à zéro le classeur "résumé" à chaque fois pour copier ensuite les sélections. Quelques petits détails:

- j'apprends sur le tas et il s'agit de ma première vrai macro, je suppose qu'il n'est pas très élégant et optimisé (je me pencherai dessus quand il marchera)
- si je pars complétement dans le mauvais sens n'hésitez pas à me le dire!
- le classeur des formateurs peut être modifié à tout moment, des onglets peuvent être rajoutés/supprimés, donc j'ai laissé tombé les références aux nom de feuille et de N° de feuille

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub MAJ()
 
Dernierecolonne = ActiveSheet.UsedRange.Columns.Count
DerniereLigne = ActiveSheet.UsedRange.Rows.Count
' Initialisation(effacement des anciennes données de A3 à AX [X= N°dernière ligne utilisée)
' --------------
Workbooks("tableau statistique formation 2016.xlsm").Activate
Sheets("statistiques").Select
Range(Cells(3, 1), Cells(DerniereLigne, Dernierecolonne)).Delete
 
 
' Ouverture du fichier planning
' -----------------------------
 
Workbooks.Open "Z:\DOCS\PLANNINGS\Planning 2016\Planning 2016.xlsm"
' Création de la boucle
' -----------------------------
Dim Ws As Worksheet
For Each Ws In ThisWorkbook.Worksheets
        ' Copie des cellules cibles
        Range(Cells(3, 1), Cells(DerniereLigne, Dernierecolonne)).Copy
        ' retour sur fichier principal
        Workbooks("tableau statistique formation 2016.xlsm").Activate
        Sheets("statistiques").Activate
        ' sélection de la dernière ligne vide (pour coller les infos les unes dessous les autres)
        Range("A" & Rows.Count).End(xlUp).Select
        ActiveCell.Offset(1, 0).Select
        ActiveSheet.Paste
        ' retour sur le fichier source et aller à l'onglet suivant
        Workbooks("Planning 2016.xlsm").Activate
        ActiveSheet.Next.Select
Next Ws
 
 
End Sub
La boucle s'arrête après 3 copier/coller, sans raison apparente. Je me demandais si il existait des "maximum" (1 copier/coller représente environs 80 lignes sur 250 colonnes)

Merci d'avance pour ceux qui se pencherons sur la question