Comment cacher les objets de formulaire à l'impression?

Bonjour. Je suis débutant en Excel.

Voila ce que j'essai de faire :

J'ai scanné un formulaire papier (qui contient, bien sur des champs a compléter, normalement à la main).

J'ai ensuite inséré l'image obtenue dans une feuille de classeur qui contient, sur une autre page une petite base de données constituée de noms, prenom, adresses.

J'ai ensuite placé au endroits où l'on doit entrer des inforamtions des "objets" venant de la berre d'outils "formulaire" : Liste déroulante, case à cocher, .....

J'obtiens exactement ce que je veux, sauf que a l'impression je voudrai ne pas voir les "objets" du formulaire (cadre, petite fléche sur la droite, .....). Je ne trouve nulle part une option me permettant de faire cela.

Avez vous une idée?

Merci par avance de votre aide.

Bonjour à tous,

Bonjour ziaziung, et bienvenue,

Tu fais un clic droit sur chaque contrôle, tu choisis Format de contrôle, puis tu décoches l'option Imprimer l'objet.

Tu peux faire cela en une seule fois : tu sélectionnes les contrôles à la suite en maintenant la touche Ctrl enfoncée, puis tu te positionnes sur le cadre de l'un des contrôles et quand la croix fléchée s'affiche tu cliques sur le bouton droit.

Bonne journée.

Cordialement.

En effet ça marche, trop bien : serait il possible d'avoir le contenu de l'objet, mais pas la décoration?

Un grand merci pour cette aide rapide.

RE :

ziaziung a écrit :

En effet ça marche, trop bien : serait il possible d'avoir le contenu de l'objet, mais pas la décoration?

Qu'entend-tu par contenu et décoration ?

Si tu peux joindre un exemple, ça n'en sera que mieux.

A +

Cordialement.

Sur le fichier joint, il y a un formulaire image d'un formulaire papier à remplir. Par exemple pour l'étage, je voudrai pouvoir choisir l'etage en utilisant la fleche de l'objet formulaire (ici j'ai choisi 2eme), mais ensuite lorsque je vais imprimer le formulaire compléte je voudrai que le cadre autour de 2eme et la flèche à sa droite ai disparus, come si j'avais entré mon choix "à la main".

Est-ce possible?

Sinon, existe il une possibilité d'insérer des fonctions dans une boite texte?

Merci encore pour votre aide.

58ajt.zip (58.97 Ko)

RE :

C'est tout de suite plus clair avec un fichier joint.

Voici donc une copie fonctionnelle.

J'ai remplacé la liste déroulante de la barre Formulaires par un ComboBox (type ActiveX dans la barre d'outils Contrôles) bien plus facile à coder. Sous cette liste, j'ai positionné un contrôle Label qui récupère le choix de la liste dans sa propriété Caption. Ce Label n'apparaît qu'à l'impression car le contrôle ComboBox n'est pas imprimable. Si tu as d'autres contrôles à ajouter, tu peux procéder de la même manière mais, n'oublie pas, il vaut mieux utiliser la barre d'outils Contrôles.

J'allais oublier : j'ai transféré les cellules A15:A17 en C15:C17 afin qu'elles n'apparaissent pas à l'impression non plus.

Cordialement.

73copie-de-ajt.zip (69.79 Ko)

Très intéressant. Je te remercie beaucoup pour ces explications et le temps que tu prend à m'expliquer les choses.

Je commence a comprendre (un peu) et ça ouvre des perspectives : Ca a l'air beaucoup moins compliqué que VBA, mais assez puissant.

Par contre j'ai quelques questions

* je ne vois pas où Label1 sait ce qui a été choisi dans Combobox1! Comment sont liés ces deux là????

* Je vois que tu as mis dans ListFillRange du Combobox1 C15:C17, adresse de la plage où se trouve les étages. Doit on entrer cela à la main? Ne peut on pas le faire à la souris, en allant sélectionner la plage qui nous convient?

* Enfin, a coté de C15:C17 j'ai ajouté deux colonnes : des noms, et des prénoms. Sur une même ligne on a le nom et le prénom du locataire de l'étage. Comment faire pour que Label2 et Label3 soient remplis automatiquement quand on change l'étage dans Combobox1?

N'y a t'il pas un moyen simple de déplcer et replacer l'image?

Encore Merci.

31ajt2.zip (70.90 Ko)

Re : Il y a tout de même un peu de VBA dans ma solution.

Voici donc les réponses à tes questions :

- Le lien entre ComboBox1 et Label1 est fait par macro, dans le module de Feuil1, par la ligne suivante :

Label1.Caption = ComboBox1

- Il y a plusieurs façons de remplir ComboBox1, mais pour t'éviter de le faire j'ai écrit une procédure qui le fait automatiquement si tu modifies les données :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With ComboBox1
  lg = Range("C" & Rows.Count).End(xlUp).Row
  .ListFillRange = Range("C15:C" & lg).Address
End With
Application.EnableEvents = True
End Sub

Attention, la cellule de départ doit toujours être C15, sinon il faut modifier la 5ème ligne.

- Le remplissage de Label2 se fait également par la macro de ComboBox1. J'ai supprimé Label3 que je considère inutile : nom et prénom sont concaténés dans le même label, ce qui me paraît améliorer la présentation

- Enfin, pour déplacer rapidement et replacer à l'identique l'image, j'ai créé dans Module1 deux macros que tu peux lancer par le menu. Ces deux macros appellent une procédure commune en lui passant la valeur de décalage en paramètre. On pourrait les attacher à des boutons, mais je ne pense pas que tu aies besoin de le faire fréquemment et ainsi l'opération reste plus discrète pour l'opérateur.

Sub DeplaceImage() ' Déplace l'image vers la droite
MouvImage 600
End Sub

Sub ReplaceImage() ' Remet l'image à sa place initiale
MouvImage -600
End Sub

Sub MouvImage(decal As Integer)
Feuil1.Shapes.Range(Array("Picture 6")).Select
Selection.ShapeRange.IncrementLeft decal
Feuil1.ComboBox1.Left = Feuil1.ComboBox1.Left + decal
Feuil1.Label2.Left = Feuil1.Label2.Left + decal
End Sub

Le déplacement agit sur l'image ainsi que sur ComboBox1 et Label2.

Voilà, je pense avoir fait le tour, mais si tu as besoin d'éclaircissements, n'hésite pas à revenir sur le sujet.

Cordialement.

38copie-de-ajt2.zip (73.54 Ko)

Je te remercie encore de toute l'aide que tu m'apporte.

J’essaie d'ouvrir le fichier joint sur un autre PC (toujours avec Excel 2003) mais j'obtiens l'erreur "La classe n'est pas enregistrée" (Cf image jointe) ? Que puis je faire, (en fait ce que je veux faire doit etre partagé avec des utilisateurs et j’imagine que cette erreur ressortira avec l'un d'eux)

Aurais tu un tutoriel a me conseiller?

classe pas enregistree

Bonjour à tous,

Bonjour ziaziung,

Le problème semble provenir d'une librairie dll mal installée sur le PC en cause. il n'y a pas d'autre solution que de la réinstaller.

Ci-joint un lien qui explique comment procéder. Il faudra, malheureusement, pratiquer de la même manière sur chaque poste posant ce problème.

http://support.microsoft.com/default.aspx?scid=kb;en-us;182500&Product=xlw

Le post est en anglais, si tu as des problèmes de lecture j'essaierai de te le traduire.

Cordialement.

Bonsoir. J'ai cherché la dll fm20.dll et je l'ai trouvé dans C:\Windows\System32 (mais pas dans windows system). Je suis sous W7.

Ensuite je ne sais pas a quoi correspond

Click Start on the Windows taskbar, click Run, and then type the following:

Regsvr32.exe fm20.dll

J'ai bien trouvé une appli nomée executer dans accessoire, mais lorsque je rentre Regsvr32.exe fm20.dll cela me donne une erreur, disant que la dll n'est pas a l'endroit specifie.

As tu une idee?

Encore un grand merci.

RE :

Click Start on the Windows taskbar, click Run, and then type the following:

En français : cliquer sur le bouton Démarrer dans la barre de tâches, cliquer sur Exécuter et tapez la ligne suivante.

Apparemment, cette instruction était rédigée pour les versions précédentes de Windows.

Avec Seven, tu cliques sur le bouton Windows, tu tapes Regsvr32.exe fm20.dll dans la fenêtre de recherche (en bas, avec la loupe) et dans la fenêtre Programmes tu cliques droit sur cette commande et tu choisis Exécuter en tant qu'administrateur.

Cordialement.

Désolé, voici les copies écran des manipulations.

regist1 regist2 regist3

Que faire avec cette dernière fenêtre

J'ai ouvert le dernier fichier que tu m'as envoyé avec un autre ordinateur (où Excel fonctionne correctement), pour l'instant ça fait exactement ce que je veux (il faudra que j'adapte a mon cas particulier, bien sur)

Encore un grand MERCI pour ton aide.

Bonjour,

Je travaille sous excel pour Mac 2011.

J'ai créé une feuille comprenant des listes déroulantes avec format de contrôle comprenant une plage d'entrée et une cellule liée. La cellule liée permet de compléter automatiquement les différentes plages dont j'ai besoin.

Or, à l'impression je vois le formulaire et sa flèche... comment faire pour ne voir que le contenu de la plage?

Si je décoche "imprimer l'objet", ça ne m'imprime pas le contenu de la plage..

Merci pour votre aide

13modele.xlsx (47.38 Ko)

Bonsoir cgautier,

Il aurait été préférable que tu ouvres un nouveau fil pour ton sujet : c'est toujours mieux que de "squatter" un existant.

Je ne connais pas Excel Mac2011, mais sous PC2010 j'ai une solution qui fonctionne : il suffit pour cela de remplacer les listes tirées des outils Formulaires par des contrôles ActiveX. Je t'adresse donc une copie de ton fichier sur laquelle j'ai appliqué ces contrôles pour les listes Salarié et Temps de travail. La flèche de la liste déroulante n'apparaît que lorsque l'on se place dessus et n'apparaît donc plus à l'impression. Je crois savoir que les contrôles ActiveX n'existent pas sur Mac mais, dans le cas contraire, il suffirait de remplacer les autres listes déroulantes.

A +

Cordialement.

Rechercher des sujets similaires à "comment cacher objets formulaire impression"