Bonjour
voici donc le script total tel qu'il apparait dans workbook
**
Option Explicit
Const PleinEcran$ = "Feuil110,Feuil331,Feuil341,Feuil351,Feuil161,Feuil311,Feuil301,Feuil361,Feuil511,Feuil551,Feuil641" 'CodeNames des feuilles en plein écran, à adapter
Dim desactive As Boolean 'mémorisation de la variable
Private Sub Workbook_Activate()
Workbook_SheetActivate ActiveSheet
End Sub
Private Sub Workbook_Deactivate()
desactive = True
Workbook_SheetActivate ActiveSheet
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Not desactive And InStr("," & PleinEcran & ",", "," & Sh.CodeName & ",") Then
Application.DisplayFullScreen = True
If Application.CutCopyMode Then Exit Sub 'autorisation pour des copier/coller
Application.DisplayFormulaBar = False 'facultatif
ActiveWindow.DisplayHeadings = False 'facultatif
ActiveWindow.DisplayGridlines = False 'facultatif
ActiveWindow.DisplayHorizontalScrollBar = False 'facultatif
ActiveWindow.DisplayVerticalScrollBar = False 'facultatif
Else
desactive = False
Application.DisplayFullScreen = False
ActiveWindow.WindowState = xlMaximized
If Application.CutCopyMode Then Exit Sub 'autorisation pour des copier/coller
Application.DisplayFormulaBar = True 'facultatif
ActiveWindow.DisplayHeadings = True 'facultatif
ActiveWindow.DisplayGridlines = False 'facultatif
ActiveWindow.DisplayHorizontalScrollBar = True 'facultatif
ActiveWindow.DisplayVerticalScrollBar = True 'facultatif
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("Fiche Données").Range("M2") = "" Then MsgBox "SVP INDIQUER LE DONNEUR D'ORDRE DANS L'ONGLET 'FICHE DONNEES'": Cancel = True
If Sheets("Fiche Données").Range("A5") = "" Then MsgBox "MERCI INDIQUER LE NOM DU CHARGEUR ET / OU DU RECEPTIONNAIRE DE LA MARCHANDISE DANS L'ONGLET 'FICHE DONNEES'": Cancel = True
If Sheets("Fiche Données").Range("A20") = "" Then MsgBox "SVP INDIQUER LE PORT DE PROVENANCE DANS L'ONGLET 'FICHE DONNEES'": Cancel = True
If Sheets("Fiche Données").Range("U20") = "" Then MsgBox "SVP INDIQUER LE PORT DE DESTINATION DANS L'ONGLET 'FICHE DONNEES'": Cancel = True
If Sheets("Fiche Données").Range("Y16") = "2" And Sheets("Fiche Données").Range("A24") = "" Then MsgBox "SVP INDIQUER LA MARCHANDISE A DECHARGER DANS L'ONGLET 'FICHES DONNEES'": Cancel = True
If Sheets("Fiche Données").Range("Y16") = "3" And Sheets("Fiche Données").Range("U24") = "" Then MsgBox "SVP INDIQUER LA MARCHANDISE A CHARGER DANS L'ONGLET 'FICHES DONNEES'": Cancel = True
If Sheets("Fiche Données").Range("Y16") = "7" And Sheets("Fiche Données").Range("A24") = "" Then MsgBox "SVP INDIQUER LA MARCHANDISE A DECHARGER DANS L'ONGLET 'FICHES DONNEES'": Cancel = True
If Sheets("Fiche Données").Range("Y16") = "7" And Sheets("Fiche Données").Range("U24") = "" Then MsgBox "SVP INDIQUER LA MARCHANDISE A CHARGER DANS L'ONGLET 'FICHES DONNEES'": Cancel = True
End Sub
Private Sub Workbook_Open()
If Worksheets("DA").Visible = True Then Exit Sub
If Worksheets("DA N°1").Visible = True Then Exit Sub
Worksheets("Fiche Données").Activate
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Worksheets("DA").Visible = True Then Exit Sub
If Worksheets("DA N°1").Visible = True Then Exit Sub
If MsgBox(" SVP, MERCI CONFIRMER QUE VOUS AVEZ :" & vbCrLf & vbCrLf & vbCrLf & "- Mis a jour la check list (avec date & initiales)" & vbLf & vbLf & "- Mis a jour S.Wing" & vbLf & vbLf & "- Actualisé l'écran du bureau" & vbLf & vbLf & "- Envoyé L'email quotidien avec les prospects actualisés" & vbLf & vbLf & "- Mis à jour l'eventuel hub system (youriss / eyefreight / DA desk)", 292, " BONJOUR " & Environ("UserName") & " AVANT DE FERMER CE FICHIER,") = 6 Then
Else
Cancel = True
End If
Dim I
For I = 1 To ActiveWorkbook.Worksheets.Count
If Sheets(I).Name Like ("CList" & "*") Then
Sheets(I).Activate
Exit Sub
End If
Next I
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "CSR" Then
If Sheets("CSR").Range("I9").Value = "" Or Sheets("CSR").Range("N9").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer les dates de mise a quai et départ du navire pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "Sof Tata" Then
If Sheets("Sof Tata").Range("A9").Value = "" Or Sheets("Sof Tata").Range("F7").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer le nom de l'armateur / opérateur et du Commandant du navire pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "Sof Conventionnel" Then
If Sheets("Sof Conventionnel").Range("A8").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer le nom de l'armateur ou opérateur pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "SOF clinker" Then
If Sheets("SOF clinker").Range("A11").Value = "" Or Sheets("SOF clinker").Range("F9").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer le nom de l'armateur / opérateur et du Commandant du navire pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "SOF 1" Then
If Sheets("SOF 1").Range("A10").Value = "" Or Sheets("SOF 1").Range("F7").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer le nom de l'armateur / opérateur et du Commandant du navire pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "Sof export" Then
If Sheets("Sof export").Range("A10").Value = "" Or Sheets("Sof export").Range("F7").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer le nom de l'armateur / opérateur et du Commandant du navire pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "SOF GNL import" Then
If Sheets("SOF GNL import").Range("D14").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer le nom de l'armateur / opérateur pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "SOF GNL export" Then
If Sheets("SOF GNL export").Range("D14").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer le nom de l'armateur / opérateur pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "Sof ammo import" Then
If Sheets("Sof ammo import").Range("A9").Value = "" Or Sheets("Sof ammo import").Range("F7").Value = "" Then
Cancel = True
MsgBox "Veuillez insérer le nom de l'armateur / opérateur et du Commandant du navire pour pouvoir imprimer"
End If
End If
If ActiveSheet.Name = "SOF EXXON" Then
If Sheets("Fiche Données").Range("E15").Value = "DONGES N°" Then Cancel = True
MsgBox "Veuillez indiquer le nom complet du poste a quai pour pouvoir imprimer"
End If
If ActiveSheet.Name = "Sof Airbus" Then
If Sheets("Fiche Données").Range("E15").Value = "RORO N°" Then Cancel = True
MsgBox "Veuillez indiquer le nom complet du poste a quai pour pouvoir imprimer"
End If
If ActiveSheet.Name = "SOF GNL import" Then
If Sheets("Fiche Données").Range("E15").Value = "GDF N°" Then Cancel = True
MsgBox "Veuillez indiquer le nom complet du poste a quai pour pouvoir imprimer"
End If
If ActiveSheet.Name = "SOF GNL export" Then
If Sheets("Fiche Données").Range("E15").Value = "GDF N°" Then Cancel = True
MsgBox "Veuillez indiquer le nom complet du poste a quai pour pouvoir imprimer"
End If
If ActiveSheet.Name = "Sof ammo yara import" Then
If Sheets("Fiche Données").Range("E15").Value = "CHEVIRE N°" Then Cancel = True
MsgBox "Veuillez indiquer le nom complet du poste a quai pour pouvoir imprimer"
End If
If ActiveSheet.Name = "SOF 1" Then
If Sheets("Fiche Données").Range("E15").Value = "TAA N°" Then Cancel = True
MsgBox "Veuillez indiquer le nom complet du poste a quai pour pouvoir imprimer"
End If
End Sub
**
Donc comme expliqué précédement, avec le même fichier tout fonctionne bien chez moi sur mon ordi avec excel 2007 , mais une partie du script ne fonctionne pas sur mon ordi boulot avec excel 2010 (toute la partie qui bloque l'impression)
je mets en vert ce qui ne fonstionne pas. L'impression ne se lance pas seulement sur l'ordi du boulot (mais fonctionne tres bien chez moi)
merci
seb