Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichier
excel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer lors
de
l'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...
strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userform
calendrier qui pourrait etre commun a tous les excel et/ou windows sans
etre
oblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
"Michel Pierron" wrote in message
news:e9f0uEJ%Bonjour Michel;
Je viens de tester sous XP + xl2002, ça marche nickel !
Il faut bien sur que le fichier .oc existe sur la machine et qu'il soit
coorectement enregistré.
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:e$cSd2H%Salut,
effectivement j'avais oublie : Private WithEvents Calendar1 As
Calendar
Maintenant ca marche, sauf..... sauf..... l'essentiel, car :
Sous (windows 98 & windows millenium) avec Excel 2000 tout marche bien
Sous (windows2000) avec Excel 2002 tout marche bien
Sous XP et excel 2002 ca ne marche pas.... :o(
Une raison particuliere ? sachant que je n'ai pas d'XP et que
l'utilisateurfinal sera lui sur XP.......
@+
Merci encore pour ton aide,
Michel.
"Michel Pierron" wrote in message
news:Bonjour Michel;
Vérifie que tu as bien indiqué en tête de ton module UserForm:
Private WithEvents Calendar1 As Calendar
' Ensuite, pour initialiser le calendrier, fais au plus simple comme
ceci:Private Sub UserForm_Initialize()
On Error GoTo 1
Set Calendar1 = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
With Calendar1
.Left = 6: .Top = 6
.Width = 222: .Height = 144
End With
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48: End
End Sub
' Ajoute la procédure évènementielle:
Private Sub Calendar1_Click()
Label1 = Calendar1.Value
End Sub
Et ça devrait rouler.
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message
de
news:Salut,
Merci pour ta reponse, ca marche tip-top.....
Par contre une autre question.... comment faire pour recuperer la
valeurdeCtl ?
Apres click boutton OK cela devrait pouvoir me mettre la valeur du
calendrier dans un label.... mais Ctl reste desesperement
vide.....
J'ai vu que Me.control.item(3) : _value0/06/04
Comment recuperer cette valeur, ou un autre moyen ?
Merci d'avance,
@+
Michel.
"Michel Pierron" wrote in message
news:Bonjour Michel;
Ajuste tes paramètres Ctl.Width = 222 et Ctl.Height = 144
Private WithEvents Calendar1 As Calendar
Private Sub UserForm_Initialize()
On Error GoTo 1
Dim Ctl As Control
Set Ctl = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
Ctl.Left = 6: Ctl.Top = 6
Ctl.Width = 222: Ctl.Height = 144
Set Calendar1 = Ctl
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48:
End
End Sub
Private Sub Calendar1_Click()
With Calendar1
ActiveCell = DateSerial(.Year, .Month, .Day)
End With
End Sub
MP
"Michel HOLDERITH" <#nospam# a écrit dans le
message
denews:Bonjour,
J'ai essaye mais ca ne marche pas.....
n'yaurait-il pas une autre solution ?
Merci,
@+
Michel.
"Clément Marcotte" wrote in
messagenews:Bonjour,
Chez Frédéric, parmi d'autres:
http://frederic.sigonneau.free.fr/code/VBE/AjouterSupprimerReference.txt
"Michel HOLDERITH" <#nospam# a écrit dans le
messagedenews:Bonjour tout le monde,
Voila j'utilise dans un Userform un calendrier pointant
vers
unfichier OCX.Lorsque j'ai voulu utiliser ce meme fichier sur un autre
ordinateur,biensur ce fichier OCX n'etait pas present ce qui fait que
j'ai
copiercefichier dans un repertoire de mon choix.
Ma question et peut-on faire pointer le Userform et/ou le
calendriervers cefichier OCX, sans avoir besoin d'aller dans les references
deVBApourl'activer ?
Pour info ce fichier se trouve sur disquette et/ou CD
graver
pourladistribution. C'est pourquoi j'ai creer un repertoire
"setup"oumonfichierOCX est copie.
Merci d'avance pour vos reponses,
@+
Michel.
Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichier
excel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer lors
de
l'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...
strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userform
calendrier qui pourrait etre commun a tous les excel et/ou windows sans
etre
oblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
"Michel Pierron" <michel.pierron@free.fr> wrote in message
news:e9f0uEJ%23EHA.3988@TK2MSFTNGP11.phx.gbl...
Bonjour Michel;
Je viens de tester sous XP + xl2002, ça marche nickel !
Il faut bien sur que le fichier .oc existe sur la machine et qu'il soit
coorectement enregistré.
MP
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message de
news:e$cSd2H%23EHA.1296@TK2MSFTNGP10.phx.gbl...
Salut,
effectivement j'avais oublie : Private WithEvents Calendar1 As
Calendar
Maintenant ca marche, sauf..... sauf..... l'essentiel, car :
Sous (windows 98 & windows millenium) avec Excel 2000 tout marche bien
Sous (windows2000) avec Excel 2002 tout marche bien
Sous XP et excel 2002 ca ne marche pas.... :o(
Une raison particuliere ? sachant que je n'ai pas d'XP et que
l'utilisateur
final sera lui sur XP.......
@+
Merci encore pour ton aide,
Michel.
"Michel Pierron" <michel.pierron@free.fr> wrote in message
news:uT7Qsy79EHA.1084@tk2msftngp13.phx.gbl...
Bonjour Michel;
Vérifie que tu as bien indiqué en tête de ton module UserForm:
Private WithEvents Calendar1 As Calendar
' Ensuite, pour initialiser le calendrier, fais au plus simple comme
ceci:
Private Sub UserForm_Initialize()
On Error GoTo 1
Set Calendar1 = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
With Calendar1
.Left = 6: .Top = 6
.Width = 222: .Height = 144
End With
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48: End
End Sub
' Ajoute la procédure évènementielle:
Private Sub Calendar1_Click()
Label1 = Calendar1.Value
End Sub
Et ça devrait rouler.
MP
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message
de
news:eDO7QJ79EHA.3420@TK2MSFTNGP10.phx.gbl...
Salut,
Merci pour ta reponse, ca marche tip-top.....
Par contre une autre question.... comment faire pour recuperer la
valeur
de
Ctl ?
Apres click boutton OK cela devrait pouvoir me mettre la valeur du
calendrier dans un label.... mais Ctl reste desesperement
vide.....
J'ai vu que Me.control.item(3) : _value0/06/04
Comment recuperer cette valeur, ou un autre moyen ?
Merci d'avance,
@+
Michel.
"Michel Pierron" <michel.pierron@free.fr> wrote in message
news:epPhgRv9EHA.2316@TK2MSFTNGP15.phx.gbl...
Bonjour Michel;
Ajuste tes paramètres Ctl.Width = 222 et Ctl.Height = 144
Private WithEvents Calendar1 As Calendar
Private Sub UserForm_Initialize()
On Error GoTo 1
Dim Ctl As Control
Set Ctl = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
Ctl.Left = 6: Ctl.Top = 6
Ctl.Width = 222: Ctl.Height = 144
Set Calendar1 = Ctl
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48:
End
End Sub
Private Sub Calendar1_Click()
With Calendar1
ActiveCell = DateSerial(.Year, .Month, .Day)
End With
End Sub
MP
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le
message
de
news:OgOhavu9EHA.2540@TK2MSFTNGP09.phx.gbl...
Bonjour,
J'ai essaye mais ca ne marche pas.....
n'yaurait-il pas une autre solution ?
Merci,
@+
Michel.
"Clément Marcotte" <clement.marcotte@sympatico.ca> wrote in
message
news:udAWyMn8EHA.1292@TK2MSFTNGP10.phx.gbl...
Bonjour,
Chez Frédéric, parmi d'autres:
http://frederic.sigonneau.free.fr/code/VBE/AjouterSupprimerReference.txt
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le
message
de
news:OPtQRol8EHA.3012@TK2MSFTNGP09.phx.gbl...
Bonjour tout le monde,
Voila j'utilise dans un Userform un calendrier pointant
vers
un
fichier OCX.
Lorsque j'ai voulu utiliser ce meme fichier sur un autre
ordinateur,
bien
sur ce fichier OCX n'etait pas present ce qui fait que
j'ai
copier
ce
fichier dans un repertoire de mon choix.
Ma question et peut-on faire pointer le Userform et/ou le
calendrier
vers ce
fichier OCX, sans avoir besoin d'aller dans les references
de
VBA
pour
l'activer ?
Pour info ce fichier se trouve sur disquette et/ou CD
graver
pour
la
distribution. C'est pourquoi j'ai creer un repertoire
"setup"
ou
mon
fichier
OCX est copie.
Merci d'avance pour vos reponses,
@+
Michel.
Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichier
excel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer lors
de
l'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...
strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userform
calendrier qui pourrait etre commun a tous les excel et/ou windows sans
etre
oblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
"Michel Pierron" wrote in message
news:e9f0uEJ%Bonjour Michel;
Je viens de tester sous XP + xl2002, ça marche nickel !
Il faut bien sur que le fichier .oc existe sur la machine et qu'il soit
coorectement enregistré.
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:e$cSd2H%Salut,
effectivement j'avais oublie : Private WithEvents Calendar1 As
Calendar
Maintenant ca marche, sauf..... sauf..... l'essentiel, car :
Sous (windows 98 & windows millenium) avec Excel 2000 tout marche bien
Sous (windows2000) avec Excel 2002 tout marche bien
Sous XP et excel 2002 ca ne marche pas.... :o(
Une raison particuliere ? sachant que je n'ai pas d'XP et que
l'utilisateurfinal sera lui sur XP.......
@+
Merci encore pour ton aide,
Michel.
"Michel Pierron" wrote in message
news:Bonjour Michel;
Vérifie que tu as bien indiqué en tête de ton module UserForm:
Private WithEvents Calendar1 As Calendar
' Ensuite, pour initialiser le calendrier, fais au plus simple comme
ceci:Private Sub UserForm_Initialize()
On Error GoTo 1
Set Calendar1 = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
With Calendar1
.Left = 6: .Top = 6
.Width = 222: .Height = 144
End With
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48: End
End Sub
' Ajoute la procédure évènementielle:
Private Sub Calendar1_Click()
Label1 = Calendar1.Value
End Sub
Et ça devrait rouler.
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message
de
news:Salut,
Merci pour ta reponse, ca marche tip-top.....
Par contre une autre question.... comment faire pour recuperer la
valeurdeCtl ?
Apres click boutton OK cela devrait pouvoir me mettre la valeur du
calendrier dans un label.... mais Ctl reste desesperement
vide.....
J'ai vu que Me.control.item(3) : _value0/06/04
Comment recuperer cette valeur, ou un autre moyen ?
Merci d'avance,
@+
Michel.
"Michel Pierron" wrote in message
news:Bonjour Michel;
Ajuste tes paramètres Ctl.Width = 222 et Ctl.Height = 144
Private WithEvents Calendar1 As Calendar
Private Sub UserForm_Initialize()
On Error GoTo 1
Dim Ctl As Control
Set Ctl = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
Ctl.Left = 6: Ctl.Top = 6
Ctl.Width = 222: Ctl.Height = 144
Set Calendar1 = Ctl
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48:
End
End Sub
Private Sub Calendar1_Click()
With Calendar1
ActiveCell = DateSerial(.Year, .Month, .Day)
End With
End Sub
MP
"Michel HOLDERITH" <#nospam# a écrit dans le
message
denews:Bonjour,
J'ai essaye mais ca ne marche pas.....
n'yaurait-il pas une autre solution ?
Merci,
@+
Michel.
"Clément Marcotte" wrote in
messagenews:Bonjour,
Chez Frédéric, parmi d'autres:
http://frederic.sigonneau.free.fr/code/VBE/AjouterSupprimerReference.txt
"Michel HOLDERITH" <#nospam# a écrit dans le
messagedenews:Bonjour tout le monde,
Voila j'utilise dans un Userform un calendrier pointant
vers
unfichier OCX.Lorsque j'ai voulu utiliser ce meme fichier sur un autre
ordinateur,biensur ce fichier OCX n'etait pas present ce qui fait que
j'ai
copiercefichier dans un repertoire de mon choix.
Ma question et peut-on faire pointer le Userform et/ou le
calendriervers cefichier OCX, sans avoir besoin d'aller dans les references
deVBApourl'activer ?
Pour info ce fichier se trouve sur disquette et/ou CD
graver
pourladistribution. C'est pourquoi j'ai creer un repertoire
"setup"oumonfichierOCX est copie.
Merci d'avance pour vos reponses,
@+
Michel.
Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichier
excel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer lors
de
l'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...
strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userform
calendrier qui pourrait etre commun a tous les excel et/ou windows sans
etre
oblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichier
excel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer lors
de
l'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...
strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userform
calendrier qui pourrait etre commun a tous les excel et/ou windows sans
etre
oblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichier
excel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer lors
de
l'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...
strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userform
calendrier qui pourrait etre commun a tous les excel et/ou windows sans
etre
oblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
Re Michel;
Histoire d'enfoncer le clou, une autre façon de faire qui marche avec
toutes
les versions de Windows sans avoir besoin du fichier mscal.ocx:
Sur un UserForm, place un textbox et un commandbutton.
Dans le module UserForm:
Option Explicit
Private Declare Function CreateWindowEx Lib "user32" Alias _
"CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String _
, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long _
, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long _
, ByVal hwndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long _
, lpParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hWnd As Long)
As
Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long _
, lParam As Any) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long _
, ByVal hWndNewParent As Long) As Long
Private Declare Function GetSystemMetrics Lib "user32" _
(ByVal nIndex As Long) As Long
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private dtHwnd As Long
Private Sub CommandButton1_Click()
Dim CurSysTime As SYSTEMTIME
SendMessage dtHwnd, &H1001, 0&, CurSysTime
With CurSysTime
TextBox1 = Format(DateSerial(.wYear, .wMonth, .wDay), "Short Date")
ActiveCell = CDate(TextBox1)
End With
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
DestroyWindow dtHwnd
End Sub
Private Sub UserForm_Initialize()
Dim meHwnd As Long, h&
h = GetSystemMetrics(51)
meHwnd = FindWindow(vbNullString, Me.Caption)
dtHwnd = CreateWindowEx(0, "SysMonthCal32", vbNullString, _
&H50000000, 4, -h, 200, 200, meHwnd, 0&, 0&, ByVal 0&)
SetParent dtHwnd, meHwnd
Me.Width = (Me.Width - Me.InsideWidth) + 208 * 3 / 4
TextBox1.Top = (200 - h) * 3 / 4: TextBox1.ZOrder 0
TextBox1.Height = 18
TextBox1.Left = 6
TextBox1.Width = 90
CommandButton1.Top = TextBox1.Top
CommandButton1.Left = TextBox1.Left + TextBox1.Width + 6
CommandButton1.Height = 18
CommandButton1.Width = 48
CommandButton1.Caption = "OK"
CommandButton1.ZOrder 0
Me.Height = TextBox1.Top + TextBox1.Height _
+ GetSystemMetrics(4) + 6
Me.Width = CommandButton1.Left + 6 _
+ CommandButton1.Width _
+ GetSystemMetrics(7) * 3 / 2
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:uu7Oc$J%Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou
pas
?Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichierexcel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer
lors
del'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que
j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userformcalendrier qui pourrait etre commun a tous les excel et/ou windows sans
etreoblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
Re Michel;
Histoire d'enfoncer le clou, une autre façon de faire qui marche avec
toutes
les versions de Windows sans avoir besoin du fichier mscal.ocx:
Sur un UserForm, place un textbox et un commandbutton.
Dans le module UserForm:
Option Explicit
Private Declare Function CreateWindowEx Lib "user32" Alias _
"CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String _
, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long _
, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long _
, ByVal hwndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long _
, lpParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hWnd As Long)
As
Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long _
, lParam As Any) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long _
, ByVal hWndNewParent As Long) As Long
Private Declare Function GetSystemMetrics Lib "user32" _
(ByVal nIndex As Long) As Long
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private dtHwnd As Long
Private Sub CommandButton1_Click()
Dim CurSysTime As SYSTEMTIME
SendMessage dtHwnd, &H1001, 0&, CurSysTime
With CurSysTime
TextBox1 = Format(DateSerial(.wYear, .wMonth, .wDay), "Short Date")
ActiveCell = CDate(TextBox1)
End With
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
DestroyWindow dtHwnd
End Sub
Private Sub UserForm_Initialize()
Dim meHwnd As Long, h&
h = GetSystemMetrics(51)
meHwnd = FindWindow(vbNullString, Me.Caption)
dtHwnd = CreateWindowEx(0, "SysMonthCal32", vbNullString, _
&H50000000, 4, -h, 200, 200, meHwnd, 0&, 0&, ByVal 0&)
SetParent dtHwnd, meHwnd
Me.Width = (Me.Width - Me.InsideWidth) + 208 * 3 / 4
TextBox1.Top = (200 - h) * 3 / 4: TextBox1.ZOrder 0
TextBox1.Height = 18
TextBox1.Left = 6
TextBox1.Width = 90
CommandButton1.Top = TextBox1.Top
CommandButton1.Left = TextBox1.Left + TextBox1.Width + 6
CommandButton1.Height = 18
CommandButton1.Width = 48
CommandButton1.Caption = "OK"
CommandButton1.ZOrder 0
Me.Height = TextBox1.Top + TextBox1.Height _
+ GetSystemMetrics(4) + 6
Me.Width = CommandButton1.Left + 6 _
+ CommandButton1.Width _
+ GetSystemMetrics(7) * 3 / 2
MP
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message de
news:uu7Oc$J%23EHA.2540@TK2MSFTNGP09.phx.gbl...
Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou
pas
?
Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichier
excel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer
lors
de
l'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...
strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que
j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userform
calendrier qui pourrait etre commun a tous les excel et/ou windows sans
etre
oblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
Re Michel;
Histoire d'enfoncer le clou, une autre façon de faire qui marche avec
toutes
les versions de Windows sans avoir besoin du fichier mscal.ocx:
Sur un UserForm, place un textbox et un commandbutton.
Dans le module UserForm:
Option Explicit
Private Declare Function CreateWindowEx Lib "user32" Alias _
"CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String _
, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long _
, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long _
, ByVal hwndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long _
, lpParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hWnd As Long)
As
Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long _
, lParam As Any) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long _
, ByVal hWndNewParent As Long) As Long
Private Declare Function GetSystemMetrics Lib "user32" _
(ByVal nIndex As Long) As Long
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private dtHwnd As Long
Private Sub CommandButton1_Click()
Dim CurSysTime As SYSTEMTIME
SendMessage dtHwnd, &H1001, 0&, CurSysTime
With CurSysTime
TextBox1 = Format(DateSerial(.wYear, .wMonth, .wDay), "Short Date")
ActiveCell = CDate(TextBox1)
End With
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
DestroyWindow dtHwnd
End Sub
Private Sub UserForm_Initialize()
Dim meHwnd As Long, h&
h = GetSystemMetrics(51)
meHwnd = FindWindow(vbNullString, Me.Caption)
dtHwnd = CreateWindowEx(0, "SysMonthCal32", vbNullString, _
&H50000000, 4, -h, 200, 200, meHwnd, 0&, 0&, ByVal 0&)
SetParent dtHwnd, meHwnd
Me.Width = (Me.Width - Me.InsideWidth) + 208 * 3 / 4
TextBox1.Top = (200 - h) * 3 / 4: TextBox1.ZOrder 0
TextBox1.Height = 18
TextBox1.Left = 6
TextBox1.Width = 90
CommandButton1.Top = TextBox1.Top
CommandButton1.Left = TextBox1.Left + TextBox1.Width + 6
CommandButton1.Height = 18
CommandButton1.Width = 48
CommandButton1.Caption = "OK"
CommandButton1.ZOrder 0
Me.Height = TextBox1.Top + TextBox1.Height _
+ GetSystemMetrics(4) + 6
Me.Width = CommandButton1.Left + 6 _
+ CommandButton1.Width _
+ GetSystemMetrics(7) * 3 / 2
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:uu7Oc$J%Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou
pas
?Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichierexcel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer
lors
del'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que
j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userformcalendrier qui pourrait etre commun a tous les excel et/ou windows sans
etreoblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
Re Michel;
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Non; lors de l'enregistrement avec regsvr32.exe, le chemin est mémorisé;
mais le plus simple est quand même de placer le fichier .ocx dans le
répertoire WindowsSystem ou WindowsSystem32 selon la version de Windows.
Sinon, essaie:
http://www.excelabo.net/moteurs/compteclic.php?nom=mp-datepicker
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:uu7Oc$J%Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou
pas
?Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichierexcel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer
lors
del'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que
j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userformcalendrier qui pourrait etre commun a tous les excel et/ou windows sans
etreoblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
"Michel Pierron" wrote in message
news:e9f0uEJ%Bonjour Michel;
Je viens de tester sous XP + xl2002, ça marche nickel !
Il faut bien sur que le fichier .oc existe sur la machine et qu'il
soit
coorectement enregistré.
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:e$cSd2H%Salut,
effectivement j'avais oublie : Private WithEvents Calendar1 As
CalendarMaintenant ca marche, sauf..... sauf..... l'essentiel, car :
Sous (windows 98 & windows millenium) avec Excel 2000 tout marche
bien
Sous (windows2000) avec Excel 2002 tout marche bien
Sous XP et excel 2002 ca ne marche pas.... :o(
Une raison particuliere ? sachant que je n'ai pas d'XP et que
l'utilisateurfinal sera lui sur XP.......
@+
Merci encore pour ton aide,
Michel.
"Michel Pierron" wrote in message
news:Bonjour Michel;
Vérifie que tu as bien indiqué en tête de ton module UserForm:
Private WithEvents Calendar1 As Calendar
' Ensuite, pour initialiser le calendrier, fais au plus simple
comme
ceci:Private Sub UserForm_Initialize()
On Error GoTo 1
Set Calendar1 = Me.Controls.Add("MSCAL.Calendar", "Calendar1",
True)
With Calendar1
.Left = 6: .Top = 6
.Width = 222: .Height = 144
End With
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48: End
End Sub
' Ajoute la procédure évènementielle:
Private Sub Calendar1_Click()
Label1 = Calendar1.Value
End Sub
Et ça devrait rouler.
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message
denews:Salut,
Merci pour ta reponse, ca marche tip-top.....
Par contre une autre question.... comment faire pour recuperer
la
valeurdeCtl ?
Apres click boutton OK cela devrait pouvoir me mettre la valeur
du
calendrier dans un label.... mais Ctl reste desesperement
vide.....
J'ai vu que Me.control.item(3) : _value0/06/04
Comment recuperer cette valeur, ou un autre moyen ?
Merci d'avance,
@+
Michel.
"Michel Pierron" wrote in message
news:Bonjour Michel;
Ajuste tes paramètres Ctl.Width = 222 et Ctl.Height = 144
Private WithEvents Calendar1 As Calendar
Private Sub UserForm_Initialize()
On Error GoTo 1
Dim Ctl As Control
Set Ctl = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
Ctl.Left = 6: Ctl.Top = 6
Ctl.Width = 222: Ctl.Height = 144
Set Calendar1 = Ctl
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48:
EndEnd Sub
Private Sub Calendar1_Click()
With Calendar1
ActiveCell = DateSerial(.Year, .Month, .Day)
End With
End Sub
MP
"Michel HOLDERITH" <#nospam# a écrit dans le
messagedenews:Bonjour,
J'ai essaye mais ca ne marche pas.....
n'yaurait-il pas une autre solution ?
Merci,
@+
Michel.
"Clément Marcotte" wrote in
messagenews:Bonjour,
Chez Frédéric, parmi d'autres:
http://frederic.sigonneau.free.fr/code/VBE/AjouterSupprimerReference.txt
"Michel HOLDERITH" <#nospam# a écrit dans le
messagedenews:Bonjour tout le monde,
Voila j'utilise dans un Userform un calendrier pointant
versunfichier OCX.Lorsque j'ai voulu utiliser ce meme fichier sur un autre
ordinateur,biensur ce fichier OCX n'etait pas present ce qui fait que
j'aicopiercefichier dans un repertoire de mon choix.
Ma question et peut-on faire pointer le Userform et/ou
le
calendriervers cefichier OCX, sans avoir besoin d'aller dans les
references
deVBApourl'activer ?
Pour info ce fichier se trouve sur disquette et/ou CD
graverpourladistribution. C'est pourquoi j'ai creer un repertoire
"setup"oumonfichierOCX est copie.
Merci d'avance pour vos reponses,
@+
Michel.
Re Michel;
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Non; lors de l'enregistrement avec regsvr32.exe, le chemin est mémorisé;
mais le plus simple est quand même de placer le fichier .ocx dans le
répertoire WindowsSystem ou WindowsSystem32 selon la version de Windows.
Sinon, essaie:
http://www.excelabo.net/moteurs/compteclic.php?nom=mp-datepicker
MP
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message de
news:uu7Oc$J%23EHA.2540@TK2MSFTNGP09.phx.gbl...
Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou
pas
?
Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichier
excel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer
lors
de
l'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...
strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que
j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userform
calendrier qui pourrait etre commun a tous les excel et/ou windows sans
etre
oblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
"Michel Pierron" <michel.pierron@free.fr> wrote in message
news:e9f0uEJ%23EHA.3988@TK2MSFTNGP11.phx.gbl...
Bonjour Michel;
Je viens de tester sous XP + xl2002, ça marche nickel !
Il faut bien sur que le fichier .oc existe sur la machine et qu'il
soit
coorectement enregistré.
MP
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message de
news:e$cSd2H%23EHA.1296@TK2MSFTNGP10.phx.gbl...
Salut,
effectivement j'avais oublie : Private WithEvents Calendar1 As
Calendar
Maintenant ca marche, sauf..... sauf..... l'essentiel, car :
Sous (windows 98 & windows millenium) avec Excel 2000 tout marche
bien
Sous (windows2000) avec Excel 2002 tout marche bien
Sous XP et excel 2002 ca ne marche pas.... :o(
Une raison particuliere ? sachant que je n'ai pas d'XP et que
l'utilisateur
final sera lui sur XP.......
@+
Merci encore pour ton aide,
Michel.
"Michel Pierron" <michel.pierron@free.fr> wrote in message
news:uT7Qsy79EHA.1084@tk2msftngp13.phx.gbl...
Bonjour Michel;
Vérifie que tu as bien indiqué en tête de ton module UserForm:
Private WithEvents Calendar1 As Calendar
' Ensuite, pour initialiser le calendrier, fais au plus simple
comme
ceci:
Private Sub UserForm_Initialize()
On Error GoTo 1
Set Calendar1 = Me.Controls.Add("MSCAL.Calendar", "Calendar1",
True)
With Calendar1
.Left = 6: .Top = 6
.Width = 222: .Height = 144
End With
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48: End
End Sub
' Ajoute la procédure évènementielle:
Private Sub Calendar1_Click()
Label1 = Calendar1.Value
End Sub
Et ça devrait rouler.
MP
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message
de
news:eDO7QJ79EHA.3420@TK2MSFTNGP10.phx.gbl...
Salut,
Merci pour ta reponse, ca marche tip-top.....
Par contre une autre question.... comment faire pour recuperer
la
valeur
de
Ctl ?
Apres click boutton OK cela devrait pouvoir me mettre la valeur
du
calendrier dans un label.... mais Ctl reste desesperement
vide.....
J'ai vu que Me.control.item(3) : _value0/06/04
Comment recuperer cette valeur, ou un autre moyen ?
Merci d'avance,
@+
Michel.
"Michel Pierron" <michel.pierron@free.fr> wrote in message
news:epPhgRv9EHA.2316@TK2MSFTNGP15.phx.gbl...
Bonjour Michel;
Ajuste tes paramètres Ctl.Width = 222 et Ctl.Height = 144
Private WithEvents Calendar1 As Calendar
Private Sub UserForm_Initialize()
On Error GoTo 1
Dim Ctl As Control
Set Ctl = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
Ctl.Left = 6: Ctl.Top = 6
Ctl.Width = 222: Ctl.Height = 144
Set Calendar1 = Ctl
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48:
End
End Sub
Private Sub Calendar1_Click()
With Calendar1
ActiveCell = DateSerial(.Year, .Month, .Day)
End With
End Sub
MP
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le
message
de
news:OgOhavu9EHA.2540@TK2MSFTNGP09.phx.gbl...
Bonjour,
J'ai essaye mais ca ne marche pas.....
n'yaurait-il pas une autre solution ?
Merci,
@+
Michel.
"Clément Marcotte" <clement.marcotte@sympatico.ca> wrote in
message
news:udAWyMn8EHA.1292@TK2MSFTNGP10.phx.gbl...
Bonjour,
Chez Frédéric, parmi d'autres:
http://frederic.sigonneau.free.fr/code/VBE/AjouterSupprimerReference.txt
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le
message
de
news:OPtQRol8EHA.3012@TK2MSFTNGP09.phx.gbl...
Bonjour tout le monde,
Voila j'utilise dans un Userform un calendrier pointant
vers
un
fichier OCX.
Lorsque j'ai voulu utiliser ce meme fichier sur un autre
ordinateur,
bien
sur ce fichier OCX n'etait pas present ce qui fait que
j'ai
copier
ce
fichier dans un repertoire de mon choix.
Ma question et peut-on faire pointer le Userform et/ou
le
calendrier
vers ce
fichier OCX, sans avoir besoin d'aller dans les
references
de
VBA
pour
l'activer ?
Pour info ce fichier se trouve sur disquette et/ou CD
graver
pour
la
distribution. C'est pourquoi j'ai creer un repertoire
"setup"
ou
mon
fichier
OCX est copie.
Merci d'avance pour vos reponses,
@+
Michel.
Re Michel;
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou pas
?
Non; lors de l'enregistrement avec regsvr32.exe, le chemin est mémorisé;
mais le plus simple est quand même de placer le fichier .ocx dans le
répertoire WindowsSystem ou WindowsSystem32 selon la version de Windows.
Sinon, essaie:
http://www.excelabo.net/moteurs/compteclic.php?nom=mp-datepicker
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:uu7Oc$J%Je vais voir ca.... t'as toutes les versions de windows et d'excel
!!!!!!!!!!!!
Est-ce que le fichier OCX doit etre dans un repertoire particulier ou
pas
?Ce qui m'arrangerais et de creer un repertoire sous
C:babaessai.xls et
C:setupcalend.ocx
le but pour moi et de pouvoir faire une reference automatique de mon
fichierexcel(VBA) vers ce repertoire et fichier OCX automatiquement (ce qui ne
marche pas apparement (j'ai teste), ou la derniere solution de creer
lors
del'appel du userform "Calendar" le calendrier, mais la encore lors de
l'initialisation, je n'ai pas vu de chemin direct....
Sauf que lors d'essai j'ai renommer mon fichier OCX, le calendrier ne
marchait pas.... ce qui veut dire qui le trouve bien dans mon
repertoire...strange.
J'en ai vraiment marre de ce calendrier de m............ le temps que
j'ai
perdu pour ca....
Il n'y aurait pas un autre moyen a ta connaissance pour utiliser un
userformcalendrier qui pourrait etre commun a tous les excel et/ou windows sans
etreoblige d'utiliser un fichier tel que le OCX ?
Merci encore de ta patience et de ton soutien.
@+
Michel.
"Michel Pierron" wrote in message
news:e9f0uEJ%Bonjour Michel;
Je viens de tester sous XP + xl2002, ça marche nickel !
Il faut bien sur que le fichier .oc existe sur la machine et qu'il
soit
coorectement enregistré.
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:e$cSd2H%Salut,
effectivement j'avais oublie : Private WithEvents Calendar1 As
CalendarMaintenant ca marche, sauf..... sauf..... l'essentiel, car :
Sous (windows 98 & windows millenium) avec Excel 2000 tout marche
bien
Sous (windows2000) avec Excel 2002 tout marche bien
Sous XP et excel 2002 ca ne marche pas.... :o(
Une raison particuliere ? sachant que je n'ai pas d'XP et que
l'utilisateurfinal sera lui sur XP.......
@+
Merci encore pour ton aide,
Michel.
"Michel Pierron" wrote in message
news:Bonjour Michel;
Vérifie que tu as bien indiqué en tête de ton module UserForm:
Private WithEvents Calendar1 As Calendar
' Ensuite, pour initialiser le calendrier, fais au plus simple
comme
ceci:Private Sub UserForm_Initialize()
On Error GoTo 1
Set Calendar1 = Me.Controls.Add("MSCAL.Calendar", "Calendar1",
True)
With Calendar1
.Left = 6: .Top = 6
.Width = 222: .Height = 144
End With
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48: End
End Sub
' Ajoute la procédure évènementielle:
Private Sub Calendar1_Click()
Label1 = Calendar1.Value
End Sub
Et ça devrait rouler.
MP
"Michel HOLDERITH" <#nospam# a écrit dans le message
denews:Salut,
Merci pour ta reponse, ca marche tip-top.....
Par contre une autre question.... comment faire pour recuperer
la
valeurdeCtl ?
Apres click boutton OK cela devrait pouvoir me mettre la valeur
du
calendrier dans un label.... mais Ctl reste desesperement
vide.....
J'ai vu que Me.control.item(3) : _value0/06/04
Comment recuperer cette valeur, ou un autre moyen ?
Merci d'avance,
@+
Michel.
"Michel Pierron" wrote in message
news:Bonjour Michel;
Ajuste tes paramètres Ctl.Width = 222 et Ctl.Height = 144
Private WithEvents Calendar1 As Calendar
Private Sub UserForm_Initialize()
On Error GoTo 1
Dim Ctl As Control
Set Ctl = Me.Controls.Add("MSCAL.Calendar", "Calendar1", True)
Ctl.Left = 6: Ctl.Top = 6
Ctl.Width = 222: Ctl.Height = 144
Set Calendar1 = Ctl
Exit Sub
1: MsgBox "Error: " & Err.Number & vbLf & Err.Description, 48:
EndEnd Sub
Private Sub Calendar1_Click()
With Calendar1
ActiveCell = DateSerial(.Year, .Month, .Day)
End With
End Sub
MP
"Michel HOLDERITH" <#nospam# a écrit dans le
messagedenews:Bonjour,
J'ai essaye mais ca ne marche pas.....
n'yaurait-il pas une autre solution ?
Merci,
@+
Michel.
"Clément Marcotte" wrote in
messagenews:Bonjour,
Chez Frédéric, parmi d'autres:
http://frederic.sigonneau.free.fr/code/VBE/AjouterSupprimerReference.txt
"Michel HOLDERITH" <#nospam# a écrit dans le
messagedenews:Bonjour tout le monde,
Voila j'utilise dans un Userform un calendrier pointant
versunfichier OCX.Lorsque j'ai voulu utiliser ce meme fichier sur un autre
ordinateur,biensur ce fichier OCX n'etait pas present ce qui fait que
j'aicopiercefichier dans un repertoire de mon choix.
Ma question et peut-on faire pointer le Userform et/ou
le
calendriervers cefichier OCX, sans avoir besoin d'aller dans les
references
deVBApourl'activer ?
Pour info ce fichier se trouve sur disquette et/ou CD
graverpourladistribution. C'est pourquoi j'ai creer un repertoire
"setup"oumonfichierOCX est copie.
Merci d'avance pour vos reponses,
@+
Michel.