Bonjour,
Dans le cadre de mon travail, je souhaite créer un bouton me permettant de redéfinir une zone d'impressions (dans le but de l'imprimer) en créant dynamiquement un bouton sur une feuille déjà créé.
Or dans la FAQ, le seul exemple sur ce sujet impose la création d'une autre feuille.
Voici mon code qui ne marche pas (Subscript out of range)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Sub moreprint() Dim Ws As Worksheet Dim Obj As OLEObject Dim laMacro As String Dim x As Integer 'Ajout feuille Set Ws = Worksheets("Checklist of consumption") 'Ajout CommandButton dans la feuille Set Obj = Ws.OLEObjects.Add("Forms.CommandButton.1") With Obj .Left = 500 'position horizontale .Top = 100 'position verticale .Width = 50 'largeur .Height = 30 'hauteur .Object.BackColor = RGB(235, 235, 200) 'Couleur de fond .Object.Caption = "print" End With 'Paramètres pour la création de la macro: '(suppression contenu cellules) laMacro = "Sub CommandButton1_Click()" & vbCrLf laMacro = laMacro & "ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address" & vbCrLf laMacro = laMacro & "ActiveWindow.SelectedSheets.PrintPreview" & vbCrLf laMacro = laMacro & "End Sub" With ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule x = .CountOfLines + 1 .InsertLines x, laMacro End With End Sub
Merci de votre aide.
Aureus Magnus
Partager