Partager via

Problème de version dans zone impression

Anonyme
2013-05-10T13:41:31+00:00

Bonjour,

J'ai le problème mentionnée plus bas et j'aimerais le corriger

Je travaille en français

1 - Si on définit une zone d'impression avec un Excel français, il dé finit le nom "Zone_d_impression" associé à la zone.

Mes collègue travaillent en anglais pour la plus part

2 - Si on ouvre ensuite le fichier avec une version en anglais par exempl e, et qu'on définit une nouvelle zone

d'impression, le nom "PrintArea" ou quelque chose de proche, est créé .

3 - Si on enregistré à chaque fois le fichier on se retrouve avec 2 n oms, "Zone_d_impression" et "PrintArea"

4 - Si on ouvre à nouveau le fichier sur un poste avec Excel en franç ais, il cherche à renommer "Zone_d_impression" la

plage "PrintArea". Mais comme ce nom est déjà pris, il affiche le mes sage "nom déja utilisé: le nom ne doit pas être

identique à un nom prédéfini..."

Ceci n'est pas pratique pour personne.

Merci

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Anonyme
2013-05-10T20:09:54+00:00

Bonjour,

Je te propose 3 solutions.

Solution A :  Tu copies le code suivant dans le ThisWorkbook

de ton projetVBA. Pour ouvrir l'éditeur de code, Raccourci clavier : Alt + F11

Dans la section de gauche, tu ouvres l'arborescence des objets sous le nom

de ton classeur. Tu double-cliques sur le ThisWorkbook et tu copies le code

suivant dans la page blanche.

En fait, ce code efface les zones d'impressions qui ont été définies dès que

les feuilles ont été imprimées. En conséquence, les zones d'impression ne

sont enregistrées avec le fichier.

'-----------------------------------------------

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim Sh As Worksheet

Application.EnableEvents = False

For Each Sh In ActiveWindow.SelectedSheets

    With Sh

        'Après tes tests, efface ".PrintPreview et

        'ne laisse que .PrintOut

       .PrintPreview ' à remplacer par .Printout

       .PageSetup.PrintArea = ""

    End With

Next

Application.EnableEvents = True

Cancel = True

End Sub

Solution B :  Tu dois copier ce code dans le ThisWorkbook du classeur

                     comme pour la solution A.

Ceci supprime toutes les zones d'impression à l'ouverture du fichier.

En conséquence, il faut définir de nouvelles zones d'impression le cas

échéant à chaque fois que l'on ouvre le fichier si on désire imprimer!

'-----------------------------------------------

Private Sub Workbook_Open()

Dim Sh As Worksheet

For Each Sh In ThisWorkbook.Worksheets

    With Sh

        .PageSetup.PrintArea = ""

    End With

Next

End Sub

'-----------------------------------------------

Solution C : Sans utiliser de code, il est possible de définir plusieurs

zones d'impression avec chacune de leurs caractéristiques (mise en page)

en utilisant une "Vue personnalisée" pour chacune des plages et de leur

mise en page qui leur a été désignée.  

Pour cela regarder dans l'onglet "Affichage" / Section : Affichages classeur  /

la commande "Personnalisé".

Lorsque l'on désire imprimer, il s'agit de choisir dans la liste, la vue personnalisée

que l'on a défini et de lancer l'impression.

(à noter que je n'ai jamais fait l'expérience lorsque le même fichier s'ouvre dans

différentes langues...(

MichD


Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

1 réponse supplémentaire

  1. Anonyme
    2013-05-13T12:37:02+00:00

    Merci de la réponse. Je vais essayer.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire