Macro pour remplir document

C'est super ça marche...

J'ai encore une faveur à te demander, le nom que je choisis dans la liste déroulante correspond au nom du responsable de quai dans ma fiche bon. Comment puis je rajouter ce critère ?

Merci en tout cas pour tout.

Aline

Mettre la formule :

=RECHERCHEV(E$7;TReg;22;FAUX)

A+

Bonjour Galopin 01,

J'espère que tu vas bien. Une demande de précision supplémentaire. Est ce que je peux protéger mes feuilles pour que personne ne puisse toucher à ma base de données et à mes bons.

Cdt,

Dans VBA

Dans le Module ThisWorkbook supprimer toutes les macros

Mettre celle-ci : (en remplaçant galopin par... ton propre mot de passe et en laissant les guillemets...)

Private Sub Workbook_Open()
Dim o
For Each o In Worksheets
If Left(o.CodeName, 2) = "Ws" Then
   o.Protect Password:="galopin", UserInterfaceOnly:=True
End If
Next
End Sub

Enregistrer et fermer le classeur.

A la prochaine ouverture les feuilles seront protégées.

A+

J'ai un message d'erreur... Dépassement de capacité.

Quand on a justement un message d'erreur on peut savoir à quel niveau ?

Cdt,

Je me suis débrouillée pour mon message d'erreur par contre mes impressions sont pas bonnes. J'ai un décalage entre le bon de gauche et le bon de droite. De plus la qualité du bon de droit est inférieur à celui de gauche, comment puis je remédier à ça ?

Sélectionner et Supprimer le miroir et faire comme tu faisais avant :

Ecrire "en dur" ce qui ne change pas et

mettre des = "la cellule d'à coté" pour chaque cellule variable...

Les N° de bons doivent être numérique et ne pas dépasser 64000 pour des nombres plus grand modifier :

Private Sub cmdConfirm_Click()
   WriteRecord
   WsBon.Range("E7") = CLng(Me.tbNum)
'la suite sans changement

et...

Private Sub WriteRecord()
Dim iR&
iR = Me.Tag
With Me
   rng.Cells(iR, 1) = CLng(.tbNum)
'la suite sans changement

Merci,

Une question plus technique et plus bête. On peut désactiver toutes les maccros avec notification de façon continue...

Je sais pas si je m'exprime bien mais je ne veux pas faire la démarche de passer par l'onglet développeur... fermer et rouvrir le fichier.

Dernière question.

Peut-on paramétrer l'imprimante pour qu'elle imprime toujours en noir et blanc ?

Merci et après promis ce projet sera résolu.

Cdt,

Essaie de modifier :

Sub ImpressDirect()
WsBon.PageSetup.BlackAndWhite = True
WsBon.PrintOut Preview:=True
End Sub

Pour la question précédente je ne comprend pas la question.

Si tu désactives les macros ton fichier ne "marchera pas" ?

Je ne vois pas le rapport avec Fermer et Rouvrir...

Il n'y a pas moyen que ce classeur active lui-même les macros ou elles sont autorisés ou elles ne le sont pas...

Ne t'inquiète pas trop pour ça de toute façon tu sais très bien que seuls les fichiers .xlsm ont des macros.

Je suppose que tu as un antivirus...

Depuis plus de 30 ans que je macrote et que je télécharge des fichiers de tout poil j'en ai bien ouvert au moins 100 000 différents, probablement plus... Je n'ai ai encore jamais rencontré de suspects...

Pourtant je travaillais en milieu bancaire !

Ceux qui ont de mauvaises intentions ne s'amusent pas avec Excel... ils utilisent d'autres portes d'entrée !

A+

galopin01 a écrit :

Essaie de modifier :

Sub ImpressDirect()
WsBon.PageSetup.BlackAndWhite = True
WsBon.PrintOut Preview:=True
End Sub

Pour la question précédente je ne comprend pas la question.

Si tu désactives les macros ton fichier ne "marchera pas" ?

Je ne vois pas le rapport avec Fermer et Rouvrir...

Il n'y a pas moyen que ce classeur active lui-même les macros ou elles sont autorisés ou elles ne le sont pas...

Ne t'inquiète pas trop pour ça de toute façon tu sais très bien que seuls les fichiers .xlsm ont des macros.

Je suppose que tu as un antivirus...

Depuis plus de 30 ans que je macrote et que je télécharge des fichiers de tout poil j'en ai bien ouvert au moins 100 000 différents, probablement plus... Je n'ai ai encore jamais rencontré de suspects...

Pourtant je travaillais en milieu bancaire !

Ceux qui ont de mauvaises intentions ne s'amusent pas avec Excel... ils utilisent d'autres portes d'entrée !

A+

Bonjour Galopin01,

Excuse moi de revenir si tardivement sur ce dossier. Deux ou trois petits points à revoir avec toi.

J'ai bien recopier ton code pour l'impression en noir et blanc, il fonctionne quand il s'agit de réimprimer un bon mais pas quand on a l'aperçu avant l'impression pour la première fois.

Je souhaiterais que ça enregistre automatiquement après la création d'un nouveau bon, par exemple comme si après avoir cliqué sur imprimante on sauvegarde ce que l'on vient de faire. Et non à la sortie du fichier comme il nous le demande à chaque fois.

Peut-il y avoir des soucis de macros si j'ouvre mon fichier avec LibreOffice Calc ?

Merci d'avance pour toutes ces interrogations....

Aline

bonjour,

Pour Calc je ne sais pas.

Fais moi un Copier/Coller du contenu de ton Module1 (les macros d'impression)

En principe YAKA rajouter ActiveWorkbook.Save à la fin...

A+

Option Explicit

Sub USFShow()

With usfSaisie

.tbNum = WorksheetFunction.Max([TNob]) + 1

.tbDate = Date

.Show

End With

End Sub

Sub Impress()

ActiveSheet.PageSetup.BlackAndWhite = True

ActiveSheet.PrintOut Preview:=True

End Sub

Sub ImpressDirect()

WsBon.PageSetup.BlackAndWhite = True

WsBon.PrintOut Preview:=True

End Sub

Oui... tu rajoutes :

Sub Impress()

ActiveSheet.PageSetup.BlackAndWhite = True

ActiveSheet.PrintOut Preview:=True

ActiveWorkbook.Save

End Sub

Sub ImpressDirect()

WsBon.PageSetup.BlackAndWhite = True

WsBon.PrintOut Preview:=True

ActiveWorkbook.Save

End Sub

... Mais si l'impression Noir et Blanc ne fonctionne pas je n'ai pas d'autre idée !

ActiveSheet.PageSetup.BlackAndWhite = True

Par contre c'est moi qui a rajouté par déduction cette commande mais il me dit que ça bloque

La syntaxe est bonne... après il faut voir le contexte.

Quel est le message "EXACT"

Le message erreur est le suivant :

Erreur d'exécution '1004':

La méthode 'PrintOut' de l'objet '_Woksheet' a échoué.

Voila la nulle que je suis....

Je n'ai pas d'idée.

C'est très contextuel car si tu mets ça dans un classeur quelconque sur un module Standard, ça ne pose aucun problème.

Il faut donc analyser avec ton classeur :

Comment tu lances la macro ?

Quelle est l'ActiveSheet ? A-telle une particularité ?

Tu serais pas en train d'essayer d'imprimer l'UserForm par hasard ?

A par ça, ma boule de cristal ne me dit rien de particulier.

Voila ou il me renvoie

copie ecran

Mettre ....

Dans le userForm :

Private Sub cmdConfirm_Click()
   WriteRecord
   WsBon.Range("E7") = CLng(Me.tbNum)
   Unload Me
   ImpressDirect
End Sub

Dans Module 1 :

Sub ImpressDirect()
WsBon.PageSetup.BlackAndWhite = True
WsBon.PrintOut Preview:=True
ActiveWorkbook.Save
End Sub
Rechercher des sujets similaires à "macro remplir document"