Bonjour,
Tout d'abord, je débute en macro et ne comprends que partiellement ce que je fais et vous remercie d'avance pour votre aide.
J'essaie de créer un fichier Excel avec macro qui va copier des données mensuelles dans un tableau de récap annuel.
Un fichier Excel est créé par mois (ce sont des données extraites d'un programme salaires).
Le fichier annuel est un "simple" listing des données mensuelles. Elles s'ajoutent mois par mois les unes en dessous des autres et ont toujours la même structure.
Voici la macro:
'Mémoriser les noms de fihciers et de feuilles
Sub recup_donnees_CIP()
fichier_mensuel = Cells(12, 3)
feuille_mensuel = Cells(16, 3)
fichier_annuel = ActiveWorkbook.Name
feuille_annuel = "CIP" 'si la feuille est renommée, à changer
'Copier/coller valeurs des lignes déjà existantes
Sheets(feuille_annuel).Select
Rows(2).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Le nouveau mois à charger est le dernier mois +1, lu en colonne A = colonne 1
Range("B2").Select
Selection.End(xlDown).Select
nouvelle_ligne = Selection.Row + 1
nouveau_mois = Cells(Selection.Row, 1) + 1
'Lire les lignes à copier
Workbooks(fichier_mensuel).Worksheets(feuille_mensuel).Activate
Rows(2).Select
Range(Selection, Selection.End(xlDown)).Select
nombre_nouv_lignes = Selection.Rows.Count
Selection.Copy
'Insérer les nouvelles lignes
Workbooks(fichier_annuel).Worksheets(feuille_annuel).Activate
Rows(nouvelle_ligne).Select
Selection.Insert Shift:=xlDown
'Ajouter le mois
Range(Cells(nouvelle_linge, 1), Cells(nouvelle_ligne + nombre_nouv_ligne - 1, 1)) = nouveau_mois
'Lire les données à copier et les copier
Workbooks(fichier_mensuel).Worksheets(feuille_mensuel).Activate
Rows(2).Select
Range(Selection, Selection.End(xlDown)).Select
nombre_nouv_lignes = Selection.Rows.Count
Selection.Copy
End Sub
Elle bloque à cet endroit là et je ne comprends pas pourquoi. Je l'ai déjà utilisée dans un autre fichier et elle fonctionne.
Merci d'avance pour votre aide!!!!!!!!!!
Tout d'abord, je débute en macro et ne comprends que partiellement ce que je fais et vous remercie d'avance pour votre aide.
J'essaie de créer un fichier Excel avec macro qui va copier des données mensuelles dans un tableau de récap annuel.
Un fichier Excel est créé par mois (ce sont des données extraites d'un programme salaires).
Le fichier annuel est un "simple" listing des données mensuelles. Elles s'ajoutent mois par mois les unes en dessous des autres et ont toujours la même structure.
Voici la macro:
'Mémoriser les noms de fihciers et de feuilles
Sub recup_donnees_CIP()
fichier_mensuel = Cells(12, 3)
feuille_mensuel = Cells(16, 3)
fichier_annuel = ActiveWorkbook.Name
feuille_annuel = "CIP" 'si la feuille est renommée, à changer
'Copier/coller valeurs des lignes déjà existantes
Sheets(feuille_annuel).Select
Rows(2).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Le nouveau mois à charger est le dernier mois +1, lu en colonne A = colonne 1
Range("B2").Select
Selection.End(xlDown).Select
nouvelle_ligne = Selection.Row + 1
nouveau_mois = Cells(Selection.Row, 1) + 1
'Lire les lignes à copier
Workbooks(fichier_mensuel).Worksheets(feuille_mensuel).Activate
Rows(2).Select
Range(Selection, Selection.End(xlDown)).Select
nombre_nouv_lignes = Selection.Rows.Count
Selection.Copy
'Insérer les nouvelles lignes
Workbooks(fichier_annuel).Worksheets(feuille_annuel).Activate
Rows(nouvelle_ligne).Select
Selection.Insert Shift:=xlDown
'Ajouter le mois
Range(Cells(nouvelle_linge, 1), Cells(nouvelle_ligne + nombre_nouv_ligne - 1, 1)) = nouveau_mois
'Lire les données à copier et les copier
Workbooks(fichier_mensuel).Worksheets(feuille_mensuel).Activate
Rows(2).Select
Range(Selection, Selection.End(xlDown)).Select
nombre_nouv_lignes = Selection.Rows.Count
Selection.Copy
End Sub
Elle bloque à cet endroit là et je ne comprends pas pourquoi. Je l'ai déjà utilisée dans un autre fichier et elle fonctionne.
Merci d'avance pour votre aide!!!!!!!!!!