Zone d'impression sous Excel
Bonjour, j'ai un utilisateur qui doit imprimer un document Excel, celui-ci étant assez long il a délimité trois zones d'impressions mais lorsque il lance l'impression seule la première zone d'impression sort de l'imprimante.
Ce problème a été constaté depuis notre migration de Office 2007 vers Office 2010, est-ce simplement un paramétrage dans les options d'impressions ?
Merci.
Bonjour
Tu dois avoir un nom défini pour ta zone d'impression.
Si c'est le cas, supprime-le et tu pourras imprimer les 3 feuilles.
Amicalement
Nad
Oki je regarde ça
-- 16 Mar 2011, 15:53 --
Excuse moi mais tu vas dans quels menus pour voir ça ?
Je suis loin de bien maîtriser la suite Office
Merci, en attendant je cherche
J'aimerais aussi savoir si le fonctionnement est censé être le même sous Office 2007 et Office 2010 normalement ?
Re
Accueil ==> Formules ==> Gestionnaire de Noms
Pour la comparaison des versions, je ne peux te répondre : je n'ai pas 2010.
Nad
Je commence à comprendre un peu plus le fonctionnement.
Donc pour résumé je n'ai plus aucune zone d'impression sur le document, lorsque je lance l'impression cela devrait m'imprimer toutes les pages n'est-ce pas ?
Hors ça ne m'imprime que la première page, j'ai testé avec d'autres documents je n'ai pas ce problème.
Merci
Re
Tu n'as pas de macros ?
Nad
Non aucune macro.
Ce problème se produit sur le poste de l'utilisateur ainsi que sur le mien.
Tu peux joindre le fichier ? (tu enlèves les données confidentielles)
Voilà je t'ai envoyé ça par mp.
Merci en tout cas pour ton aide
Re
Moi, à l'aperçu, j'ai 21 pages à imprimer.
Tu as des macros (dans ThisWorkbook)
Ce sont des codes pour récupérer les données de fichiers.
Quand je le lance, j'ai un message : "le fichier galion.ini est introuvable" - Normal puisque je n'ai pas ce fichier.
Je ne vois rien dans les codes concernant la zone d'impression, mais ils sont trop compliqués pour moi . Comme ils ne contiennent rien de confidentiel, je les place ici pour voir si quelqu'un trouve la raison qui fait que tu ais ce problème d'impression.
'''''''''''''''''''''''''''''''''''''''''''
' VISION SYSTEM
' --------------------------------------- '
' @author = SERVICE INFORMATIQUE '
' --------------------------------------- '
' @Description = Mise à jour des DSN des '
' fichiers Excel '
' Fichier ini de mise à jour : galion.ini '
' Section = DSN '
' Clé = chaine '
'''''''''''''''''''''''''''''''''''''''''''
Option Explicit
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''' API Utile pour lire un fichier ini '''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, _
ByVal lpFileName As String) As Long
' Procédure d'appel à l'ouverture du fichier excel
Private Sub Workbook_Open()
Dim path, section_ODBC_AS400, section_ODBC_SQLServer, section_OLEDB, section_MSOLAP, cle_ODBC_AS400, cle_ODBC_SQLServer, cle_OLEDB, cle_MSOLAP As String
' Path du fichier ini
path = ThisWorkbook.path & "\+galion.ini"
' Paramètres ODBC (AS400) fichier ini
section_ODBC_AS400 = "DSN_AS400"
cle_ODBC_AS400 = "chaine"
' Paramètres ODBC (SQL Server) fichier ini
section_ODBC_SQLServer = "DSN_SQLSERVER"
cle_ODBC_SQLServer = "chaine"
' Paramètres OLEDB (SQL Server) fichier ini
section_OLEDB = "OLEDB"
cle_OLEDB = "chaine"
' Paramètres OLEDB-MSOLAP (CUBES) fichier ini
section_MSOLAP = "MSOLAP"
cle_MSOLAP = "chaine"
On Error GoTo lblerror
' Si le fichier n'existe pas -> notification utilisateur
If (ExistsFichierIni(path) = False) Then
MsgBox "Le fichier galion.ini est introuvable...", vbExclamation
Exit Sub
' Si le fichier existe -> mise à jour des connexions ODBC AS400 , ODBC SQLServer , OLEDB et MSOLAP
Else
Call MiseAjourConnection("ODBC_AS400", section_ODBC_AS400, cle_ODBC_AS400, path)
Call MiseAjourConnection("ODBC_SQLServer", section_ODBC_SQLServer, cle_ODBC_SQLServer, path)
Call MiseAjourConnection("OLEDB", section_OLEDB, cle_OLEDB, path)
Call MiseAjourConnection("MSOLAP", section_MSOLAP, cle_MSOLAP, path)
End If
Exit Sub
lblerror:
MsgBox "Problème lors de la mise à jour des connexions . Veuillez contacter le service informatique", vbCritical
End Sub
' Fonction LitDansFichierIni
' @Params = section (string) : nom de la section à lire dans le fichier ini
' cle (string) : nom de la clé à lire dans le fichier ini
' Fichier (string): Path du fichier ini
' ValeurParDefaut (string) : valeur optionnelle si aucune valeur de clé n'est trouvée dans le fichier ini
' @return = (string) : valeur de la clé concernée
' @Description = Lecture du fichier ini
Public Function LitDansFichierIni(section As String, cle As String, Fichier As String, _
Optional ValeurParDefaut As String = "") As String
Dim strReturn As String
strReturn = String(255, 0)
GetPrivateProfileString section, cle, ValeurParDefaut, strReturn, Len(strReturn), Fichier
LitDansFichierIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)
End Function
' Procédure MiseAjourConnection
' @Description = Procédure permettant la mise à jour des
' différentes connexions du fichier excel.
' @Params = connexion (string) : type de connexion (ODBC , OLEDB , MSOLAP)
' section (string) : nom de la section à lire dans le fichier ini
' cle (string) : nom de la clé à lire dans le fichier ini
' Fichier (string) : Path du fichier ini
Private Sub MiseAjourConnection(ByVal connexion, ByVal section As String, ByVal cle As String, ByVal path As String)
Dim Dsn As String
Dim Count As Byte
' Récupération du DSN
Dsn = LitDansFichierIni(section, cle, path)
' Connexion ODBC AS400
If (connexion = "ODBC_AS400") Then
' Initialisation de toutes les chaines de connexion de type ODBC AS400 (longueur de la chaîne < 30)
For Count = 1 To ActiveWorkbook.Connections.Count
If (ThisWorkbook.Connections(Count).Type = xlConnectionTypeODBC) Then
If Len(ThisWorkbook.Connections(Count).ODBCConnection.Connection) < 30 Then
ThisWorkbook.Connections(Count).ODBCConnection.Connection = "ODBC;DSN=" & Dsn & ";"
End If
End If
Next
End If
' Connexion ODBC SQLServer
If (connexion = "ODBC_SQLServer") Then
' Initialisation de toutes les chaines de connexion de type ODBC AS400 (longueur de la chaîne < 30)
For Count = 1 To ActiveWorkbook.Connections.Count
If (ThisWorkbook.Connections(Count).Type = xlConnectionTypeODBC) Then
If Len(ThisWorkbook.Connections(Count).ODBCConnection.Connection) > 30 Then
ThisWorkbook.Connections(Count).ODBCConnection.Connection = "ODBC;DSN=" & Dsn & ";"
End If
End If
Next
End If
' connexion OLEDB (SQL Server)
If (connexion = "OLEDB") Then
' Initialisation de toutes les chaines de connexion de type OLEDB (SQL Server)
For Count = 1 To ActiveWorkbook.Connections.Count
If ThisWorkbook.Connections(Count).Type = xlConnectionTypeOLEDB Then
If Mid(ThisWorkbook.Connections(Count).OLEDBConnection.Connection, 16, 8) = "SQLOLEDB" Then
ThisWorkbook.Connections(Count).OLEDBConnection.Connection = "OLEDB;" & Dsn
End If
End If
Next
End If
' connexion OLEDB - MSOLAP (CUBE)
If (connexion = "MSOLAP") Then
For Count = 1 To ActiveWorkbook.Connections.Count
If ThisWorkbook.Connections(Count).Type = xlConnectionTypeOLEDB Then
If ThisWorkbook.Connections(Count).OLEDBConnection.OLAP = True Then
ThisWorkbook.Connections(Count).OLEDBConnection.Connection = "OLEDB;" & Dsn
End If
End If
Next
End If
End Sub
' Fonction ExistsFichierIni
' @Params = path (string) : path du fichier ini
' @return = (boolean) : true = présence fichier ok | false = présence fichier ko
' @Description = fonction qui vérifie la présence du fichier galion.ini
Private Function ExistsFichierIni(ByVal path As String) As Boolean
ExistsFichierIni = Dir(path) <> "" And path <> ""
End FunctionNad