Probleme if pas pris en compte par la macro
szl
-
szl -
szl -
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
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)
Sheets("010" & M & Y).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
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)
Sheets("010" & M & Y).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
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)
Sheets("010" & M & Y).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
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)
Sheets("01" & M & Y).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
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)
Sheets("01" & M & Y).Activate
Range("A9").Select
Range(Selection, Selection.End(xlDown)).Copy
wb.Activate
Sheets("Données").Select
Range("A7").Select
ActiveSheet.Paste
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
End Sub
A voir également:
- Probleme if pas pris en compte par la macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
j'ai bloqué trop longtemps sur un truc tout bête...