Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Impression tableau et code VBA

moustic54

XLDnaute Occasionnel
Bonjour à tous

Je n'y connais rien en code VBA et même en lisant les différents messages je n'ai pas trouvé.
Ma question va sans doute paraitre stupide à plus d'un posteur maitrisant Excel. je voudrais pouvoir imprimer un tableau d'un clic sur un bouton. Le tableau va évoluer de 50 lignes à 100 lignes et plus. donc imprimer le tableau jusqu'à la derniere ligne renseignée. Mais je ne sais pas faire.

J'ai aussi trouvé un code qui affiche une bulle d'aide lorsque l'on approche la souris du bouton mais lorsque je reprends le code : debocage avec erreur sur ("monshape"). Pourquoi ?

Private Sub Bouton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If X < 10 Or X > Bouton1.Width - 10 Or Y < 10 Or Y > Bouton1.Height - 10 Then
ActiveSheet.Shapes("monshape").Visible = False
Else
ActiveSheet.Shapes("monshape").Visible = True
End If
End Sub​
 

moustic54

XLDnaute Occasionnel
Re : Impression tableau et code VBA

Bonsoir à tous

Les codes bouton impression et bouton "survol" ne fonctionnement pas ensemble, il doit me manquer quelques instructions entre les deux commandes.

bhbh, je suppose que ton code doit être inscrit sur la feuille 1 en même temps que le code qui active le bouton d'impression. Est ce bien cela ???
Parce que je risque là aussi d'avoir 2 codes et un manque d'instruction entre les deux.

Je sais ma question est assez stupide mais je n'y connais vraiment rien.
 

JCGL

XLDnaute Barbatruc
Re : Impression tableau et code VBA

Bonjour à tous,

Pour ton Bouton, remplace :

Private Sub Bouton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

par

Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Salut BH² et bon anniversaire "Gamin" arf

A++
A+ à tous
 

Pièces jointes

  • Impression V4.zip
    13.9 KB · Affichages: 35
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Impression tableau et code VBA

Bonjour tout le monde
Salut JC

Dans mon code, il y a une ligne facultative, la deuxième
La zone étant nommée zone_d_impression, la première ligne suffit

Code:
Range("B1:T" & [B1].CurrentRegion.Rows.Count).Name = "zone_d_impression"

Il est superfétatoire de rajouter cette ligne :

Code:
ActiveSheet.PageSetup.PrintArea = "zone_d_impression"

@ JC : Merci "l'Ancien"
 

moustic54

XLDnaute Occasionnel
Re : Impression tableau et code VBA

Bonsoir à tous

Merci à tous les 2 pour cette aide loin d'être "superfétatoire"

J'ai pu lire que la protection des feuilles pouvait engendrer un disfonctionnement des macros.

Comment dans ce cas, proteger 2 feuilles tout en ayant les boutons IMPRESSION actifs sur ces dernieres ?
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Impression tableau et code VBA

Bonsoir,

ce serait sympa d'éviter de mettre JC en défaut....

Merci à tous les 2 pour cette aide loin d'être "superfétatoire"

je ne sais pas s'il en connait le sens....

Pour ce qui est de la protection des feuilles
Effectivement, en tout début de code, il faut déprotéger la feuille, puis la reprotéger en fin de code
 

moustic54

XLDnaute Occasionnel
Re : Impression tableau et code VBA

Je doute que JC en ignore la signification mais pas grave là, je pourrais lui expliquer.

bhbh, pourrais-tu regarder le fichier que je joins avec tentative de mettre la protection mais le menu VBE reste toujours actif.

Est ce normal ?
 

Pièces jointes

  • Impression V5.zip
    15 KB · Affichages: 21

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Impression tableau et code VBA

Bonsoir,
comme dit précédemment, déprotège, exécute, puis reprotège

Code:
Private Sub CommandButton1_Click()
ActiveSheet.Unprotect
Range("B5:T" & [B5].CurrentRegion.Rows.Count + 4).Name = "zone_d_impression"
ActiveSheet.PageSetup.PrintTitleRows = "$5:$5"
Application.Dialogs(xlDialogPrint).Show
ActiveSheet.Protect
End Sub

Peut-être?
 

JCGL

XLDnaute Barbatruc
Re : Impression tableau et code VBA

Re,

Arf, Merci de ne pas écrire de propos superflu ou non utile, voir inutile .

Je pardonne à mon ami BH² ce manque de respect pour un "Ancien" : il a du fêter une journée à terre ET son excellent arbitrage ET son année +1 : Il raconte n'importe quoi mais ce n'est pas grave, je lui pardonne

A++ BH
A+ à tous
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Impression tableau et code VBA

Re-,
j'ai pas remonté le fil...
Mais la protection peut se faire par feuille....
Par contre, à l'ouverture, tu peux protéger toutes les feuilles, puis, en fonction de la feuille active, ou de la feuille de destination, agir en conséquence...
 

moustic54

XLDnaute Occasionnel
Re : Impression tableau et code VBA


Alors là c'est du venusien ???

Pour reprendre plus doucement parce que là je suis vraiment largué

1. Je veux proteger mes feuille1 et feuille 2
2. Ayant des macros dans ces feuilles, je dois les deproteger pour qu'elles puissent fonctionner.

La protection de ces feuilles a été faite avec outils/protection/proteger cellules avec mot de passe

Je dois donc prevoir dans le code vba la deprotection et la reprotection
et non dans Thisworkbook, c'est çà ???
 

moustic54

XLDnaute Occasionnel
Re : Impression tableau et code VBA

RE-,



Excuse JC, à son âge....

Effectivement, dans le ThisWorkbook_Open, tu protèges toutes tes feuilles...
Puis, dans chaque code, tu déverrouilles, exécutes le code, puis re-verrouilles...

PETITE QUESTION : tout ceci est-il compatible avec un bouton qui permettrait à l'utilisateur de deproteger / proteger les cellules ??
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Impression tableau et code VBA

Bonsoir,

tout ceci est-il compatible avec un bouton qui permettrait à l'utilisateur de deproteger / proteger les cellules

Bien sûr, regarde le code de mon fil d'hier, je déprotège, j'agis, puis je reprotège, tout ceci étant transparent...
Maintenant, qu'entends-tu par déprotéger la feuille?
Que l'utilisateur enlève la protection, travaille sur la feuille, puis que celle-ci soit reprotégée à l'issue?
Il suffirait de lui donner le mot de passe, et à l'enregistrement, ou à l'ouverture, ou... remettre la protection, afin d'éviter les erreurs de saisie.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…