Problème de fusion de macro
Bonjour,
Voici mon problème. J'ai deux macros qui fonctionne lorsqu'elles sont séparées. Mais quand je les fusionne, elles créer un conflit et la fonction if ne fonctionne plus.
1er code choisi une macro d'impression en fonction des cellule D8 des feuilles Route 10-A et Route 10-B. Elle fonctionne parfaitement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Option Compare Text
Sub Selection_Semaine()
Dim Route10A As String, Route10B As String
Route10A = Sheets("Route 10-A").Range("D8")
Route10B = Sheets("Route 10-B").Range("D8")
If Route10A = Route10B Then
ImprimerRoute10Semaine
Else
Imprimer_Semaine
End If
End Sub |
2e Code, Change les dates des feuilles de semaine afin qu’elles indiquent les informations du lundi suivant, imprime les feuilles de fin de semaine et du lundi puis remet la configuration "normal" du classeur. Encore cette macro fonctionne parfaitement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Sub Imprimer_Weekend()
'
' Imprimer_Weekend Macro
'
Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 semaine")).Select
Sheets("Route 1").Activate
Range("B8").Select
ActiveCell.FormulaR1C1 = "=Calcule!R[-6]C[1]"
Range("B9").Select
Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 Samedi", _
"Route 10 Dimanche")).Select
Sheets("Route 1").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 Semaine")).Select
Sheets("Route 1").Activate
Range("B8").Select
ActiveCell.FormulaR1C1 = "=Calcule!R[-6]C[3]"
Range("B9").Select
Sheets("Horaire").Select
End Sub |
Le code fusionné est
Code:
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 36 37 38 39 40 41 42 43
| Option Compare Text
Sub Imprimer_Weekend()
'
' Imprimer_Weekend Macro
'
Dim Route10A As String, Route10B As String
Route10A = Sheets("Route 10-A").Range("D8")
Route10B = Sheets("Route 10-B").Range("D8")
Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 semaine")).Select
Sheets("Route 1").Activate
Range("B8").Select
ActiveCell.FormulaR1C1 = "=Calcule!R[-6]C[1]"
Range("B9").Select
Application.Wait Time + TimeSerial(0, 0, 5)
If Route10A = Route10B Then
' Sheets(Array("Route 1", "Route 11", "Route 10 semaine", "Route 10 Samedi", _
' "Route 10 Dimanche")).Select
' Sheets("Route 1").Activate
' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
' IgnorePrintAreas:=False
MsgBox ("pareil")
Else
' Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 Samedi", _
' "Route 10 Dimanche")).Select
' Sheets("Route 1").Activate
' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
' IgnorePrintAreas:=False
MsgBox ("pas pareil")
End If
Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 Semaine")).Select
Sheets("Route 1").Activate
Range("B8").Select
ActiveCell.FormulaR1C1 = "=Calcule!R[-6]C[3]"
Range("B9").Select
Sheets("Horaire").Select
End Sub |
J'ai mis les commandes d'impression en commentaire et mit des message box afin de tester sans gaspiller une tonne de papier. Voici le problème, peu importe le résultat des cellule D8 des feuille Route 10-A et Route 10-B (pareil ou pas pareil), le résultat change en fonction de la date et non des cellules souhaitées. Voyez-vous un problème dans mon code? si oui, le quel? si vous le désiré je peux vous mettre mon fichier en pièce jointe.
Merci d'avance pour votre aide.