Utilisation du Vérificateur de compatibilité dans Excel 2007 et Excel 2010
Résumé : le Vérificateur de compatibilité, nouveauté dans Microsoft Office Excel 2007 et Microsoft Excel 2010, signale les problèmes susceptibles de provoquer une perte de fidélité ou de fonctionnalité lors de l’enregistrement des classeurs dans des versions antérieures d’Microsoft Excel. Découvrez ces options et explorez des exemples de code associés.
Dernière modification : lundi 11 avril 2011
S’applique à : Excel 2007 | Excel 2010 | Office 2007 | Office 2010 | SharePoint Server 2010 | VBA
Sommaire
Vérificateur de compatibilité dans Excel
Problèmes avec perte mineure de fidélité
Problèmes avec perte significative de fidélité
Utilisation du Vérificateur de compatibilité par programme
Conclusion
Ressources supplémentaires
Vérificateur de compatibilité dans Excel
Pour vous assurer qu’un classeur Microsoft Office Excel 2007 ou Microsoft Excel 2010 n’a pas de problème de compatibilité provoquant une perte mineure ou significative de fidélité dans une version antérieure d’Microsoft Excel, vous pouvez exécuter le Vérificateur de compatibilité.
Notes
Le Vérificateur de compatibilité est également disponible dans Microsoft Office Word 2007, Microsoft Word 2010, Microsoft Office PowerPoint 2007 et Microsoft PowerPoint 2010.
Le Vérificateur de compatibilité analyse vos classeurs à la recherche d’éléments qui ne sont pas pris en charge par les versions antérieures d’Excel. Lors de l’enregistrement d’un classeur dans le format de fichier Excel 97 à Excel 2003, Excel 2007 ou Excel 2010 analyse le fichier et affiche des boîtes de dialogue pour vous aider à prendre des décisions concernant les problèmes de compatibilité. Le Vérificateur de compatibilité peut également vous aider à créer un rapport répertoriant toutes les incompatibilités et vous permet de désactiver cette fonctionnalité.
Plus spécifiquement, lorsqu’une des conditions suivantes est remplie, le Vérificateur de compatibilité peut afficher une boîte de dialogue signalant qu’une fonctionnalité disponible dans Excel 2007 ou Excel 2010 n’est pas disponible dans le format antérieur.
Vous essayez d’enregistrer un classeur Excel 97 à Excel 2003 (.xls) qui est ouvert dans Excel 2007 ou Excel 2010.
Vous utilisez l’option Enregistrer sous pour enregistrer un classeur Excel qui est ouvert dans Excel 2007 ou Excel 2010 au format de fichier Excel 97-2003 (.xls).
L’article Compatibility Mode in the 2007 Office System fournit un résumé des conditions signalées par le Vérificateur de compatibilité.
Comme mentionné plus haut, vous pouvez désactiver le Vérificateur de compatibilité lorsque vous enregistrez des classeurs en appliquant l’une des méthodes ci-dessous.
Pour désactiver le Vérificateur de compatibilité
(Excel 2007) Sur le Bouton Office, cliquez sur Préparer, sur Activer le vérificateur de compatibilité, puis désactivez la case à cocher Vérifier la compatibilité lors de l’enregistrement de ce classeur.
(Excel 2010) Sous l’onglet Fichier, cliquez sur Informations, sur Vérifier la présence de problèmes, sur Vérifier la compatibilité, puis désactivez la case à cocher Vérifier la compatibilité lors de l’enregistrement de ce classeur.
Problèmes avec perte mineure de fidélité
Si des tableaux du classeur contiennent une mise en forme de style, la boîte de dialogue illustrée à la Figure 1 peut s’afficher lorsque vous enregistrez le classeur dans une version antérieure d’Excel.
Figure 1. Boîte de dialogue de perte mineure de fidélité
Dans ce message, le mot clé est mineur. Lors de l’enregistrement du classeur Excel 2007 ou Excel 2010 au format antérieur, la mise en forme de style est supprimée dans le fichier enregistré. Cette action rend le classeur compatible avec le format de fichier Excel 97-2003 (.xls). Si vous le souhaitez, vous pouvez désactiver le Vérificateur de compatibilité, enregistrer le classeur et l’ouvrir dans Excel 97 à Excel 2003 sans rencontrer de problème.
Problèmes avec perte significative de fidélité
Lorsque vous exécutez le Vérificateur de compatibilité et qu’il existe des problèmes dans cette catégorie, une boîte de dialogue semblable à celle de la Figure 2 s’affiche.
Figure 2. Boîte de dialogue Perte significative de fonctionnalité
Notes
Pour plus d’informations sur la liste des problèmes signalés dans cette catégorie, voir le blog (éventuellement en anglais) de l’équipe de produit Microsoft Excel.
Lorsqu’il existe des problèmes dans cette catégorie, il est préférable de ne pas enregistrer le fichier car certaines formules risquent de ne pas fonctionner et/ou vous risquez de perdre des données ou certaines fonctionnalités.
Toutefois, dans certains cas d’autres options s’offrent à vous. Par exemple, une solution consiste à ne pas utiliser de formules qui sont nouvelles dans Excel 2007 ou Excel 2010. Au lieu de cela, vous pouvez utiliser d’autres formules (bien que cela puisse entraîner une réduction de fonctionnalité). Par exemple, les formules =SUMIFS() et =COUNTIFS() peuvent être remplacées par une formule =SUMPRODUCT() équivalente. Vous trouverez des informations supplémentaires sur cette formule ici (éventuellement en anglais).
Une autre solution consiste à ne pas utiliser de lignes et de colonnes avec des données au-delà de la plage de 256(IV) colonnes par 65 536 lignes. Au lieu de cela, vous pouvez placer les données supplémentaires dans une autre feuille de calcul et établir une liaison à cette feuille. Vous pourrez peut-être également atténuer le problème en enregistrant le classeur en tant que fichier PDF visualisable dans les versions antérieures d’Excel. Cette option est installée par défaut dans Microsoft Office 2010 et Microsoft Office System 2007 Service Pack 2 (SP2).
Notes
Si vous ne souhaitez pas installer Microsoft Office System 2007 SP2, vous pouvez installer uniquement le complément disponible à partir de la page Web Complément de Microsoft Office 2007 : Enregistrement en PDF dans Microsoft.
Vous pouvez également envoyer le classeur Excel 2007 ou Excel 2010 à l’utilisateur et faire en sorte qu’il charge et installe la Visionneuse Excel. Celle-ci permet d’ouvrir, afficher et imprimer des classeurs Excel 97 à Excel 2010 même si Excel n’est pas installé.
Pour finir, une solution moins qu’optimale consiste à télécharger le Pack de compatibilité Microsoft Office pour les formats de fichiers Word, Excel et PowerPoint. Ce téléchargement vous permet d’ouvrir, modifier et enregistrer des classeurs qui sont au format de fichier Excel 2007 et Excel 2010 dans des versions antérieures d’Excel. Il existe toutefois certaines limitations, telles que l’impossibilité d’afficher les colonnes et les lignes situées au-delà de la plage 256(IV) colonnes par 65 536 lignes. Par ailleurs, lorsque le classeur contient des formules introduites dans Excel 2007 ou Excel 2010, une erreur #NAME s’affiche lorsque vous recalculez le classeur.
Utilisation du Vérificateur de compatibilité par programme
Nous avons vu que le Vérificateur de compatibilité proposait une option Vérifier la compatibilité lors de l’enregistrement de ce classeur qui permet d’activer ou de désactiver cette fonctionnalité. Vous pouvez effectuer les mêmes actions dans Microsoft Visual Basic pour Applications (VBA) avec l’une ou l’autre instruction suivante.
ActiveWorkbook.CheckCompatibility = False
ActiveWorkbook.CheckCompatibility = True
Vous pouvez utiliser la sous-routine VBA suivante pour enregistrer une feuille de calcul Excel 2007 ou Excel 2010 en tant que classeur Excel 97 à Excel 2003 et éviter l’affichage de la boîte de dialogue de Vérificateur de compatibilité. Il convient toutefois de s’assurer que la feuille de calcul ne contient aucun problème de compatibilité ou uniquement des problèmes mineurs.
Sub Save_2007_WorkSheet_As_97_2003_Workbook()
' Avoid the CheckCompatibility dialog when you copy a worksheet
' from an Excel 2007 or Excel 2010 file format with compatibility issues to a new
' workbook and save this workbook as an Excel 97 through Excel 2003 workbook.
Dim Destwb As Workbook
Dim SaveFormat As Long
Dim TempFilePath As String
Dim TempFileName As String
' Remember the users setting.
SaveFormat = Application.DefaultSaveFormat
' Set the default format to the Excel 97 through Excel 2003 file format.
Application.DefaultSaveFormat = 56
' You can specify a worksheet other than the active sheet by
' using the following syntax: Sheets("Sheet5").Copy.
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
Destwb.CheckCompatibility = False
' Save the new workbook and close it.
TempFilePath = Application.DefaultFilePath & "\"
TempFileName = "Excel 97-2003 WorkBook " & Format(Now, "yyyy-mm-dd hh-mm-ss")
With Destwb
.SaveAs TempFilePath & TempFileName & ".xls", FileFormat:=56
.Close SaveChanges:=False
End With
' Set default save format back to the users setting.
Application.DefaultSaveFormat = SaveFormat
MsgBox "You can find the file in " & Application.DefaultFilePath
End Sub
Vous pouvez utiliser la sous-routine suivante pour enregistrer une feuille de calcul Excel 2007 ou Excel 2010 en tant que classeur Excel 97 à Excel 2003 et éviter l’affichage de la boîte de dialogue de Vérificateur de compatibilité, puis l’ajouter en tant que pièce jointe à un message électronique. Il convient de s’assurer que la feuille de calcul ne contient aucun problème de compatibilité ou uniquement des problèmes mineurs.
Notes
Vous pouvez utiliser cette sous-routine avec les programmes suivants :
-
Microsoft Outlook Express
-
Microsoft Windows Mail
-
Microsoft Windows Live Mail
-
Microsoft Outlook
Sub Mail_ActiveSheet_As_97_2003_Workbook()
' Works with Excel 2007 and Excel 2010.
Dim SaveFormat As Long
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim I As Long
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Sourcewb = ActiveWorkbook
' Remember the users setting.
SaveFormat = Application.DefaultSaveFormat
' Set the default to the Excel 97 through Excel 2003 file format.
Application.DefaultSaveFormat = 56
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
Destwb.CheckCompatibility = False
' Save and mail the new workbook and then close it.
TempFilePath = Application.DefaultFilePath & "\"
TempFileName = "Part of " & Sourcewb.Name & " " _
& Format(Now, "yyyy-mm-dd hh-mm-ss")
With Destwb
.SaveAs TempFilePath & TempFileName & ".xls", _
FileFormat:=56
On Error Resume Next
For I = 1 To 3
.SendMail "", _
"This is the Subject line"
If Err.Number = 0 Then Exit For
Next I
On Error GoTo 0
.Close SaveChanges:=False
End With
' Delete the file that you have just sent.
Kill TempFilePath & TempFileName & ".xls"
' Set default save format back to the users setting.
Application.DefaultSaveFormat = SaveFormat
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
Vous trouverez davantage d’exemples d’envoi de courrier et des conseils sur la façon de modifier le code ici (éventuellement en anglais).
Conclusion
Lors de l’enregistrement de fichiers Excel 2007 ou Excel 2010 dans des formats de fichiers d’une version antérieure d’Excel, vous pouvez rencontrer des problèmes de compatibilité pouvant entraîner une perte de fidélité de fichier ou une perte significative de données et de fonctionnalités. Le Vérificateur de compatibilité peut vous aider à atténuer ces problèmes.
Ressources supplémentaires
Pour plus d’informations sur les sujets traités dans cet article, voir les ressources suivantes :