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.
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 : 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 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
Le code fusionné est
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 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
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.
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
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
Merci d'avance pour votre aide.
Partager