OVH Cloud OVH Cloud

UserForm

4 réponses
Avatar
Leonello
Bonsoir,

Est t'il possible dans un UserForm, de montrer une partie d'une feuille ?

exemple :
feuill1, range ("A1:B6")

D'avance Merci

--

Amicalement,
leo

4 réponses

Avatar
Fredo P.
Bonsoir Leonello
À mon avis cela est possible en utilisant l'outil appareil photo,pour
l'exemple il est en permanance sur ma BO. et il pour le trouver:>clic droit
sur la barre d'outils>personnaliser>Commande>Outils>et cherchant un peu, il
est pas loin.,Le sélectionner> drag_drop vers la BO.
"Leonello" a écrit dans le message de news:
457c7dcc$0$25932$
Bonsoir,

Est t'il possible dans un UserForm, de montrer une partie d'une feuille ?

exemple :
feuill1, range ("A1:B6")

D'avance Merci

--

Amicalement,
leo




Avatar
JB
Bonjour,


Visualise le champ A1:E6 dans un formulaire:

Private Sub UserForm_Initialize()
ChDir ActiveWorkbook.Path
With Sheets("shapeForm")
.[A1:E6].CopyPicture
.Paste Destination:=.Range("A1") 'crée un shape
Set s = .Shapes(.Shapes.Count)
s.CopyPicture
.ChartObjects.Add(0, 0, s.Width, s.Height * 1.15).Chart.Paste
.ChartObjects(1).Chart.Export Filename:="monimage.jpg",
FilterName:="jpg"
.Shapes(.Shapes.Count).Delete
.Shapes(.Shapes.Count).Delete
End With
Me.Image1.Picture = LoadPicture("monimage.jpg")
End Sub

http://cjoint.com/?mlfJp1DJz6

Cordialement JB


Bonsoir,

Est t'il possible dans un UserForm, de montrer une partie d'une feuille ?

exemple :
feuill1, range ("A1:B6")

D'avance Merci

--

Amicalement,
leo


Avatar
MichDenis
Tu peux ajouter à la boîte d'outils de ton formulaire, un contrôle "Microsoft office SpreadSheet xx"

et si tu veux afficher une plage de cellule à l'ouverture du formulaire
utiliser cette ligne de commande :

'-------------------------
Private Sub UserForm_Initialize()

Feuil1.Range("A1:F20").Copy
Me.Spreadsheet1.Range("A1:F20").Paste

End Sub
'-------------------------



"Leonello" a écrit dans le message de news:
457c7dcc$0$25932$
Bonsoir,

Est t'il possible dans un UserForm, de montrer une partie d'une feuille ?

exemple :
feuill1, range ("A1:B6")

D'avance Merci

--

Amicalement,
leo
Avatar
Michel Pierron
Bonjour Leonello;
Ajoute un contrôle image sur ton UserForm et dans le module UserForm:

Private Declare Function _
CloseClipboard& Lib "user32" ()
Private Declare Function _
OpenClipboard& Lib "user32" (ByVal hwnd&)
Private Declare Function _
EmptyClipboard& Lib "user32" ()
Private Declare Function _
GetClipboardData& Lib "user32" (ByVal wFormat&)
Private Type PicBmp
Size As Long
Type As Long
hBmp As Long
hPal As Long
Reserved As Long
End Type
Private Type Guid
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Private Declare Function OleCreatePictureIndirect& Lib _
"olepro32.dll" (PicDesc As PicBmp, RefIID As Guid _
, ByVal fPictureOwnsHandle&, IPic As IPicture)

Private Function CreatePicture(ByVal hBmp&) As IPicture
Dim Ret&, Pic As PicBmp, IPic As IPicture, IID As Guid
With IID
.Data1 = &H20400
.Data4(0) = &HC0
.Data4(7) = &H46
End With
With Pic
.Size = Len(Pic)
.Type = 1
.hBmp = hBmp
End With
Ret = OleCreatePictureIndirect(Pic, IID, 1, IPic)
Set CreatePicture = IPic
End Function

Private Sub RngDisplay(Sh As String, Rng As String)
ThisWorkbook.Sheets(Sh).Range(Rng).CopyPicture 1, 2
OpenClipboard 0&
Me.Image1.Picture = CreatePicture(GetClipboardData(2))
Me.Image1.AutoSize = True
DoEvents
EmptyClipboard
CloseClipboard
End Sub


Private Sub UserForm_Activate()
Call RngDisplay("Feuil1", "A1:B6")
End Sub

MP

"Leonello" a écrit dans le message de news:
457c7dcc$0$25932$
Bonsoir,

Est t'il possible dans un UserForm, de montrer une partie d'une feuille ?

exemple :
feuill1, range ("A1:B6")

D'avance Merci

--

Amicalement,
leo