La propri=E9t=E9 "OnAction" avec passage de param=E8tre bug sous XL 2000
SP3.
Le click sur le bouton menu sur lequel je viens d'affecter une macro
avec passage de 3 param=E8tres sous Excel 2000 SP3 associ=E9 =E0 XP ne
fonctionne pas. Je n'ai pas d'erreur mais la macro
"InsertList(NiveauSec, i, j)"ne se d=E9roule pas. Mon click reste sans
effet et le programme ne fonctionne pas. Il semblerait que ce
comportement soit connu comme =E9tant un Bug d'Excel 2000 sous XP....
Excel 2000SP2 sous XP permet le fonctionnemt correct avec le passage
de param=E8tre mais malheureusement je dois utiliser XL2000 SP3. Y-
aurait-il un paliatif ? ou dois je changer de version d'Excel? Changer
mes biblioth=E8ques de r=E9f=E9rence?
Trame du programme ci apr=E8s.
Merci de me faire de vos impressions.
Sub CreatMenuNiveauTapRoom(NiveauSec, VarObj3, i, j)
For i =3D 1 To 20
For j =3D 1 To 12
VarObj2 =3D VarObj1 & ".Room" & j
Set VarObj2 =3D VarOjb1.Controls.Add(Type:=3DmsoControlButton)
TapRefRoom =3D "TapRefRoom" & j & NiveauSec & i
With VarObj2
.Caption =3D "Tap." & NiveauSec & ".BL" & i & ".Room" & j
'Passage de 3 param=E8tres =E0 la proc=E9dure Insertlist
.OnAction =3D "'InsertList """ & NiveauSec & """,""" & i &
""",""" & j & """'"
End With
Next j
Next i
End Sub
Sub InsertList(NiveauSec, i, j)
TapRefRoom =3D "TapRefRoom" & j & NiveauSec & i
With Selection.Validation
.Delete
FS -- Frédéric SIGONNEAU Modules et modèles pour Excel : http://frederic.sigonneau.free.fr/
john2 a écrit :
Bonsoir,
La propriété "OnAction" avec passage de paramètre bug sous XL 2000 SP3. Le click sur le bouton menu sur lequel je viens d'affecter une macro avec passage de 3 paramètres sous Excel 2000 SP3 associé à XP ne fonctionne pas. Je n'ai pas d'erreur mais la macro "InsertList(NiveauSec, i, j)"ne se déroule pas. Mon click reste sans effet et le programme ne fonctionne pas. Il semblerait que ce comportement soit connu comme étant un Bug d'Excel 2000 sous XP.... Excel 2000SP2 sous XP permet le fonctionnemt correct avec le passage de paramètre mais malheureusement je dois utiliser XL2000 SP3. Y- aurait-il un paliatif ? ou dois je changer de version d'Excel? Changer mes bibliothèques de référence? Trame du programme ci après. Merci de me faire de vos impressions.
Sub CreatMenuNiveauTapRoom(NiveauSec, VarObj3, i, j) For i = 1 To 20 For j = 1 To 12 VarObj2 = VarObj1 & ".Room" & j Set VarObj2 = VarOjb1.Controls.Add(Type:=msoControlButton) TapRefRoom = "TapRefRoom" & j & NiveauSec & i
With VarObj2 .Caption = "Tap." & NiveauSec & ".BL" & i & ".Room" & j 'Passage de 3 paramètres à la procédure Insertlist .OnAction = "'InsertList """ & NiveauSec & """,""" & i & """,""" & j & """'" End With
Next j Next i End Sub
Sub InsertList(NiveauSec, i, j)
TapRefRoom = "TapRefRoom" & j & NiveauSec & i With Selection.Validation .Delete
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
john2 a écrit :
Bonsoir,
La propriété "OnAction" avec passage de paramètre bug sous XL 2000
SP3.
Le click sur le bouton menu sur lequel je viens d'affecter une macro
avec passage de 3 paramètres sous Excel 2000 SP3 associé à XP ne
fonctionne pas. Je n'ai pas d'erreur mais la macro
"InsertList(NiveauSec, i, j)"ne se déroule pas. Mon click reste sans
effet et le programme ne fonctionne pas. Il semblerait que ce
comportement soit connu comme étant un Bug d'Excel 2000 sous XP....
Excel 2000SP2 sous XP permet le fonctionnemt correct avec le passage
de paramètre mais malheureusement je dois utiliser XL2000 SP3. Y-
aurait-il un paliatif ? ou dois je changer de version d'Excel? Changer
mes bibliothèques de référence?
Trame du programme ci après.
Merci de me faire de vos impressions.
Sub CreatMenuNiveauTapRoom(NiveauSec, VarObj3, i, j)
For i = 1 To 20
For j = 1 To 12
VarObj2 = VarObj1 & ".Room" & j
Set VarObj2 = VarOjb1.Controls.Add(Type:=msoControlButton)
TapRefRoom = "TapRefRoom" & j & NiveauSec & i
With VarObj2
.Caption = "Tap." & NiveauSec & ".BL" & i & ".Room" & j
'Passage de 3 paramètres à la procédure Insertlist
.OnAction = "'InsertList """ & NiveauSec & """,""" & i &
""",""" & j & """'"
End With
Next j
Next i
End Sub
Sub InsertList(NiveauSec, i, j)
TapRefRoom = "TapRefRoom" & j & NiveauSec & i
With Selection.Validation
.Delete
FS -- Frédéric SIGONNEAU Modules et modèles pour Excel : http://frederic.sigonneau.free.fr/
john2 a écrit :
Bonsoir,
La propriété "OnAction" avec passage de paramètre bug sous XL 2000 SP3. Le click sur le bouton menu sur lequel je viens d'affecter une macro avec passage de 3 paramètres sous Excel 2000 SP3 associé à XP ne fonctionne pas. Je n'ai pas d'erreur mais la macro "InsertList(NiveauSec, i, j)"ne se déroule pas. Mon click reste sans effet et le programme ne fonctionne pas. Il semblerait que ce comportement soit connu comme étant un Bug d'Excel 2000 sous XP.... Excel 2000SP2 sous XP permet le fonctionnemt correct avec le passage de paramètre mais malheureusement je dois utiliser XL2000 SP3. Y- aurait-il un paliatif ? ou dois je changer de version d'Excel? Changer mes bibliothèques de référence? Trame du programme ci après. Merci de me faire de vos impressions.
Sub CreatMenuNiveauTapRoom(NiveauSec, VarObj3, i, j) For i = 1 To 20 For j = 1 To 12 VarObj2 = VarObj1 & ".Room" & j Set VarObj2 = VarOjb1.Controls.Add(Type:=msoControlButton) TapRefRoom = "TapRefRoom" & j & NiveauSec & i
With VarObj2 .Caption = "Tap." & NiveauSec & ".BL" & i & ".Room" & j 'Passage de 3 paramètres à la procédure Insertlist .OnAction = "'InsertList """ & NiveauSec & """,""" & i & """,""" & j & """'" End With
Next j Next i End Sub
Sub InsertList(NiveauSec, i, j)
TapRefRoom = "TapRefRoom" & j & NiveauSec & i With Selection.Validation .Delete
Le résultat est le même avec ou sans "Cstr", le click reste sans effet et aucun message d'erreur.
Je vais devoir me replier vers une autre stratégie...Peut être du genre une boîte de dialogue personnalisée qui permet d'initialiser le paramétrage de l'étiquette que je souhaite affecter à la cellule sélectionnée. Je perdrais dans ces conditions probablement l'ergonomie de la selection par "Tree view".
Merci pour ton site!
jean.
Merci Frédéric pour ton idée!
Le résultat est le même avec ou sans "Cstr", le click reste sans effet
et aucun message d'erreur.
Je vais devoir me replier vers une autre stratégie...Peut être du
genre une boîte de dialogue personnalisée qui permet d'initialiser le
paramétrage de l'étiquette que je souhaite affecter à la cellule
sélectionnée. Je perdrais dans ces conditions probablement l'ergonomie
de la selection par "Tree view".
Le résultat est le même avec ou sans "Cstr", le click reste sans effet et aucun message d'erreur.
Je vais devoir me replier vers une autre stratégie...Peut être du genre une boîte de dialogue personnalisée qui permet d'initialiser le paramétrage de l'étiquette que je souhaite affecter à la cellule sélectionnée. Je perdrais dans ces conditions probablement l'ergonomie de la selection par "Tree view".
Merci pour ton site!
jean.
john2
Pour mémoire:
Une des solutions est de passer les paramètres par encodage dans .Parameter
.OnAction = "'InsertList " .Parameter = NiveauSec & i & j 'Encodage des paramètre multiples
Sub InsertList( ) 'Ici plus de paramètre dans les parenthèses!
Param = CommandBars.ActionControl.Parameter
'Ici écriture du décodage de chaque paramètre avec propriétés Instr et Mid pour retrouver les valeurs de 'NiveauSec; i; j.
End Sub
Jean
Pour mémoire:
Une des solutions est de passer les paramètres par encodage
dans .Parameter
.OnAction = "'InsertList "
.Parameter = NiveauSec & i & j 'Encodage des paramètre
multiples
Sub InsertList( ) 'Ici plus de paramètre dans les parenthèses!
Param = CommandBars.ActionControl.Parameter
'Ici écriture du décodage de chaque paramètre avec propriétés Instr
et Mid pour retrouver les valeurs de
'NiveauSec; i; j.