Bonjour j'ai un problème dans mon code, le if m= ... n'est pas pris en compte.
si quelqu'un a une idée du pourquoi merci bien car là je ne comprend pas
Sub Regrouper_données()
Application.DisplayAlerts = False
Dim wb As Workbook Dim wb1 As Workbook Dim J As Integer Dim M As Integer Dim A As Integer Dim Y As Integer Dim NomFichier As String
Set wb = ActiveWorkbook 'Définition du classeur de calcul Sheets("Données").Select Range("A7").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Selection.ClearContents
A = Year(CDate(Sheets("Données").Range("B1"))) 'Récupération de l'année de référence AAAA Y = Sheets("Données").Range("C1").Value 'Récupération de l'année de référence AA
M = 1
'Janvier If M = 1 Then NomFichier = "Y:\Données\Données mensuelles\" & A & "-0" & M & ".xlsx" Set wb1 = Workbooks.Open(NomFichier)
'Copié/collé des données du premier jour du mois Sheets("010" & M & Y).Activate Range("A9").Select Range(Selection, Selection.End(xlDown)).Copy wb.Activate Sheets("Données").Select Range("A7").Select ActiveSheet.Paste
'Copié/collé des données de chaque jour à la suite des autres For J = 2 To 31 wb1.Activate Sheets(J + 1).Activate Range("A9").Select Range(Selection, Selection.End(xlDown)).Copy wb.Activate Sheets("Données").Range("A7").Select Selection.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Next J wb1.Close M = M + 1 End If
'Février If M = 2 Then NomFichier = "Y:\Données\Données mensuelles\" & A & "-0" & M & ".xlsx" Set wb1 = Workbooks.Open(NomFichier)
If A Mod 4 <> 0 Then For J = 2 To 28 wb1.Activate Sheets(J).Activate Range("A9").Select Range(Selection, Selection.End(xlDown)).Copy wb.Activate Sheets("Données").Range("A7").Select Selection.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Next J Else For J = 2 To 29 wb1.Activate Sheets(J + 1).Activate Range("A9").Select Range(Selection, Selection.End(xlDown)).Copy wb.Activate Sheets("Données").Range("A7").Select Selection.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Next J wb1.Close End If M = M + 1 End If
'Mars, Mai, Juillet et Aout If M = 3 Or 5 Or 7 Or 8 Then NomFichier = "Y:\Données\Données mensuelles\" & A & "-0" & M & ".xlsx" Set wb1 = Workbooks.Open(NomFichier)
For J = 2 To 31 wb1.Activate Sheets(J).Activate Range("A9").Select Range(Selection, Selection.End(xlDown)).Copy wb.Activate Sheets("Données").Range("A7").Select Selection.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Next J wb1.Close M = M + 1 End If
'Avril, Juin et Septembre If M = 4 Or 6 Or 9 Then NomFichier = "Y:\Données\Données mensuelles\" & A & "-0" & M & ".xlsx" Set wb1 = Workbooks.Open(NomFichier)
For J = 2 To 30 wb1.Activate Sheets(J).Activate Range("A9").Select Range(Selection, Selection.End(xlDown)).Copy wb.Activate Sheets("Données").Range("A7").Select Selection.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Next J wb1.Close M = M + 1 End If
'Octobre et Décembre If M = 10 Or 12 Then NomFichier = "Y:\Données\Données mensuelles\" & A & "-" & M & ".xlsx" Set wb1 = Workbooks.Open(NomFichier)
For J = 2 To 31 wb1.Activate Sheets(J + 1).Activate Range("A9").Select Range(Selection, Selection.End(xlDown)).Copy wb.Activate Sheets("Données").Range("A7").Select Selection.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Next J wb1.Close M = M + 1 End If
'Novembre If M = 11 Then NomFichier = "Y:\Données\Données mensuelles\" & A & "-" & M & ".xlsx" Set wb1 = Workbooks.Open(NomFichier)
For J = 2 To 30 wb1.Activate Sheets(J + 1).Activate Range("A9").Select Range(Selection, Selection.End(xlDown)).Copy wb.Activate Sheets("Données").Range("A7").Select Selection.End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Next J wb1.Close M = M + 1 End If
3 juin 2015 à 17:26
j'ai bloqué trop longtemps sur un truc tout bête...