Grace a vous je sais bien faire des boutons (du genre=20
CommandButton) sous Excel 2000 et XP. Tout fonctionne=20
correctement. Malheureusement, cela ne marche pas avec=20
Excel 97. J'ai un probleme de nom.=20
Je m'explique :
Avec le code ci-dessous, j'insere un bouton dans ma=20
feuille et je lui affecte un nom et du code. Puis, quand=20
je clique sur mon bouton dans ma feuille, rien ne se passe.
En selectionnant le bouton en mode cr=E9ation, le nom que je=20
lui ai affecte apparait bien dans la zone de nom (au=20
dessus de la cellule A1), mais dans ses proprietes, le=20
bouton continue de s'appeler CommandButtonx (ou x est le=20
numero d'ordre de creation).
Qu'elle est la difference entre ces deux noms ?
Comment lui faire changer le nom que l'on trouve dans les=20
proprietes ?
*****Le Code en question*****
Public NomBouton As String
Public CaptionBouton As String
Sub InsererBoutonDeCommande()
Dim L As Double, T As Double, B As Object
NomBouton =3D NomBouton & Application.Substitute
(NomEvenement, ".", "_")
With ActiveSheet
L =3D .Range("I" & ActiveCell.Row).Left
T =3D .Range("I" & ActiveCell.Row).Top
With .OLEObjects.Add
(ClassType:=3D"Forms.CommandButton.1", _
Link:=3DFalse, DisplayAsIcon:=3DFalse, Left:=3DL, _
Top:=3DT, Width:=3D40, Height:=3D13.75)
With .Object
.ForeColor =3D RGB(255, 255, 255)
.BackColor =3D RGB(0, 0, 128)
.Caption =3D CaptionBouton
.Font.Name =3D "Arial"
.Font.Size =3D 5
End With
.Name =3D NomBouton
.PrintObject =3D False
Ins=E9rerLeCodeDuBouton ActiveSheet.Name, .Name
End With
End With
End Sub
Sub Ins=E9rerLeCodeDuBouton(NomFeuille As String, NomBouton=20
As String)
Dim A As String
A =3D Worksheets(NomFeuille).CodeName
code =3D " Private Sub " & NomBouton & "_Click()" & vbCrLf
code =3D code & "call Crea2Projet(""" & NomEvenement & """)"=20
& vbCrLf
code =3D code & "End Sub"
Set B =3D ThisWorkbook.VBProject.VBComponents(A).CodeModule
With B
.AddFromString code
End With
Set B =3D Nothing
End Sub
*****Fin du code*****
Note : les variables NomBouton et CaptionBouton etant deja=20
initialisees avant.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alain CROS
Bonjour.
Effectivement avec XL97, le nom du bouton pose problème. Voici une copie d'un message que j'avais posté il y a quelque temps.
------------------------------------------------------------------------ Voila 1 petit exemple qui fonctionne sur XL97 et 2000. Tu colle tous le code qui suit dans le module d'une feuille de calcul. Sur cette feuille de calcul, tu insere 1 CommandButton nommé CommandButton1. Ce Bouton permet lors du premier Click d'insérer 1 CommandButton puis lors du Click suivant de le supprimer. Si tu est sur Mac, tu supprimes les 2 références a "user32". Tu enléves les commentaires sur les lignes qui comportent Application.ScreenUpdating. Tu met en commentaire la ligne qui suit Application.ScreenUpdating .
Option Explicit
Private Declare Function LockWindowUpdate Lib "user32" _ (ByVal hwndLock As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Sub CommandButton1_Click()
Static LeBouton As String Dim MonBouton As OLEObject, lenom As String
If LeBouton = vbNullString Then LeBouton = "NouveauBouton" On Error Resume Next Set MonBouton = ActiveSheet.OLEObjects(LeBouton) On Error GoTo 0 If MonBouton Is Nothing Then lenom = CreerBoutonAvecEventClick(ActiveSheet, Range("D4"), LeBouton) MsgBox "Nom Choisi = " & LeBouton & vbNewLine & _ "Nom Obtenu = " & lenom LeBouton = lenom Exit Sub Else Set MonBouton = Nothing MsgBox "Le Bouton " & NettoieBoutonEtCodeClick(ActiveSheet, LeBouton) & _ " a été éffaçé" & vbNewLine & "Le Bouton demandé était " & LeBouton LeBouton = vbNullString End If
End Sub Function CreerBoutonAvecEventClick(WS As Worksheet, _ LaCell As Range, lenom As String) As String 'créer un bouton sur une feuille de calcul, avec son événement Click
Dim OleObj As OLEObject Dim Ctrl As MSForms.CommandButton Dim LeCode As String Dim CtrlName As String
On Error Resume Next Set OleObj = WS.OLEObjects(lenom) On Error GoTo 0 If Not OleObj Is Nothing Then Set OleObj = Nothing: Exit Function ' Application.ScreenUpdating = False LockWindowUpdate GetDesktopWindow ActiveCell.Activate With LaCell Set OleObj = WS.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _ Left:=.Left, Top:=.Top, Height:=.Height * 2, Width:=.Width * 2) End With OleObj.Name = lenom Set Ctrl = OleObj.Object Ctrl.Caption = lenom CtrlName = Ctrl.Name LeCode = "Msgbox ""Je suis le nouveau bouton "" & vbNewLine & _" & _ vbNewLine & """Mon Nom de Control est "" & """ & Ctrl.Name & """" & _ " & vbNewLine & _" & vbNewLine & _ """Mon Nom d'OLEObject est "" & """ & OleObj.Name & """" With ThisWorkbook.VBProject.VBComponents(Ctrl.Parent.Name).CodeModule .ReplaceLine .CreateEventProc("Click", CtrlName) + 1, LeCode .VBE.MainWindow.Visible = False End With ' Application.ScreenUpdating = True LockWindowUpdate False CreerBoutonAvecEventClick = CtrlName Set OleObj = Nothing Set Ctrl = Nothing
End Function
Function NettoieBoutonEtCodeClick(WS As Worksheet, _ lenom As String) As String 'supprimer un bouton et son événement Click sur une feuille de calcul.
Dim OleObj As OLEObject Dim Ctrl As MSForms.CommandButton
On Error Resume Next Set OleObj = WS.OLEObjects(lenom) On Error GoTo 0 If OleObj Is Nothing Then Exit Function Application.ScreenUpdating = False Set Ctrl = OleObj.Object lenom = Ctrl.Name ActiveCell.Activate OleObj.Delete Set OleObj = Nothing With ActiveWorkbook.VBProject.VBComponents(WS.CodeName).CodeModule .DeleteLines .ProcStartLine(lenom & "_Click", 0), _ .ProcCountLines(lenom & "_Click", 0) End With Set Ctrl = Nothing Application.ScreenUpdating = True NettoieBoutonEtCodeClick = lenom
End Function ------------------------------------------------------------------------- Alain CROS.
"Pierre Dumas" a écrit dans le message de news: 101a01c3b364$3b230c40$ Bonjour tout le monde,
Grace a vous je sais bien faire des boutons (du genre CommandButton) sous Excel 2000 et XP. Tout fonctionne correctement. Malheureusement, cela ne marche pas avec Excel 97. J'ai un probleme de nom.
Je m'explique :
Avec le code ci-dessous, j'insere un bouton dans ma feuille et je lui affecte un nom et du code. Puis, quand je clique sur mon bouton dans ma feuille, rien ne se passe. En selectionnant le bouton en mode création, le nom que je lui ai affecte apparait bien dans la zone de nom (au dessus de la cellule A1), mais dans ses proprietes, le bouton continue de s'appeler CommandButtonx (ou x est le numero d'ordre de creation). Qu'elle est la difference entre ces deux noms ? Comment lui faire changer le nom que l'on trouve dans les proprietes ?
*****Le Code en question***** Public NomBouton As String Public CaptionBouton As String
Sub InsererBoutonDeCommande()
Dim L As Double, T As Double, B As Object NomBouton = NomBouton & Application.Substitute (NomEvenement, ".", "_")
With ActiveSheet L = .Range("I" & ActiveCell.Row).Left T = .Range("I" & ActiveCell.Row).Top With .OLEObjects.Add (ClassType:="Forms.CommandButton.1", _ Link:úlse, DisplayAsIcon:úlse, Left:=L, _ Top:=T, Width:@, Height:.75) With .Object .ForeColor = RGB(255, 255, 255) .BackColor = RGB(0, 0, 128) .Caption = CaptionBouton .Font.Name = "Arial" .Font.Size = 5 End With .Name = NomBouton .PrintObject = False InsérerLeCodeDuBouton ActiveSheet.Name, .Name End With End With
End Sub
Sub InsérerLeCodeDuBouton(NomFeuille As String, NomBouton As String)
Dim A As String
A = Worksheets(NomFeuille).CodeName
code = " Private Sub " & NomBouton & "_Click()" & vbCrLf code = code & "call Crea2Projet(""" & NomEvenement & """)" & vbCrLf code = code & "End Sub" Set B = ThisWorkbook.VBProject.VBComponents(A).CodeModule With B .AddFromString code End With Set B = Nothing
End Sub *****Fin du code***** Note : les variables NomBouton et CaptionBouton etant deja initialisees avant.
En esperant avoir ete clair.
Merci d'avance
Pierre
Bonjour.
Effectivement avec XL97, le nom du bouton pose problème.
Voici une copie d'un message que j'avais posté il y a quelque temps.
------------------------------------------------------------------------
Voila 1 petit exemple qui fonctionne sur XL97 et 2000.
Tu colle tous le code qui suit dans le module d'une feuille de calcul.
Sur cette feuille de calcul, tu insere 1 CommandButton nommé CommandButton1.
Ce Bouton permet lors du premier Click d'insérer 1 CommandButton puis lors du Click suivant de le supprimer.
Si tu est sur Mac, tu supprimes les 2 références a "user32".
Tu enléves les commentaires sur les lignes qui comportent Application.ScreenUpdating.
Tu met en commentaire la ligne qui suit Application.ScreenUpdating .
Option Explicit
Private Declare Function LockWindowUpdate Lib "user32" _
(ByVal hwndLock As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Sub CommandButton1_Click()
Static LeBouton As String
Dim MonBouton As OLEObject, lenom As String
If LeBouton = vbNullString Then LeBouton = "NouveauBouton"
On Error Resume Next
Set MonBouton = ActiveSheet.OLEObjects(LeBouton)
On Error GoTo 0
If MonBouton Is Nothing Then
lenom = CreerBoutonAvecEventClick(ActiveSheet, Range("D4"), LeBouton)
MsgBox "Nom Choisi = " & LeBouton & vbNewLine & _
"Nom Obtenu = " & lenom
LeBouton = lenom
Exit Sub
Else
Set MonBouton = Nothing
MsgBox "Le Bouton " & NettoieBoutonEtCodeClick(ActiveSheet, LeBouton) & _
" a été éffaçé" & vbNewLine & "Le Bouton demandé était " & LeBouton
LeBouton = vbNullString
End If
End Sub
Function CreerBoutonAvecEventClick(WS As Worksheet, _
LaCell As Range, lenom As String) As String
'créer un bouton sur une feuille de calcul, avec son événement Click
Dim OleObj As OLEObject
Dim Ctrl As MSForms.CommandButton
Dim LeCode As String
Dim CtrlName As String
On Error Resume Next
Set OleObj = WS.OLEObjects(lenom)
On Error GoTo 0
If Not OleObj Is Nothing Then Set OleObj = Nothing: Exit Function
' Application.ScreenUpdating = False
LockWindowUpdate GetDesktopWindow
ActiveCell.Activate
With LaCell
Set OleObj = WS.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
Left:=.Left, Top:=.Top, Height:=.Height * 2, Width:=.Width * 2)
End With
OleObj.Name = lenom
Set Ctrl = OleObj.Object
Ctrl.Caption = lenom
CtrlName = Ctrl.Name
LeCode = "Msgbox ""Je suis le nouveau bouton "" & vbNewLine & _" & _
vbNewLine & """Mon Nom de Control est "" & """ & Ctrl.Name & """" & _
" & vbNewLine & _" & vbNewLine & _
"""Mon Nom d'OLEObject est "" & """ & OleObj.Name & """"
With ThisWorkbook.VBProject.VBComponents(Ctrl.Parent.Name).CodeModule
.ReplaceLine .CreateEventProc("Click", CtrlName) + 1, LeCode
.VBE.MainWindow.Visible = False
End With
' Application.ScreenUpdating = True
LockWindowUpdate False
CreerBoutonAvecEventClick = CtrlName
Set OleObj = Nothing
Set Ctrl = Nothing
End Function
Function NettoieBoutonEtCodeClick(WS As Worksheet, _
lenom As String) As String
'supprimer un bouton et son événement Click sur une feuille de calcul.
Dim OleObj As OLEObject
Dim Ctrl As MSForms.CommandButton
On Error Resume Next
Set OleObj = WS.OLEObjects(lenom)
On Error GoTo 0
If OleObj Is Nothing Then Exit Function
Application.ScreenUpdating = False
Set Ctrl = OleObj.Object
lenom = Ctrl.Name
ActiveCell.Activate
OleObj.Delete
Set OleObj = Nothing
With ActiveWorkbook.VBProject.VBComponents(WS.CodeName).CodeModule
.DeleteLines .ProcStartLine(lenom & "_Click", 0), _
.ProcCountLines(lenom & "_Click", 0)
End With
Set Ctrl = Nothing
Application.ScreenUpdating = True
NettoieBoutonEtCodeClick = lenom
End Function
-------------------------------------------------------------------------
Alain CROS.
"Pierre Dumas" <anonymous@discussions.microsoft.com> a écrit dans le message de news: 101a01c3b364$3b230c40$a401280a@phx.gbl...
Bonjour tout le monde,
Grace a vous je sais bien faire des boutons (du genre
CommandButton) sous Excel 2000 et XP. Tout fonctionne
correctement. Malheureusement, cela ne marche pas avec
Excel 97. J'ai un probleme de nom.
Je m'explique :
Avec le code ci-dessous, j'insere un bouton dans ma
feuille et je lui affecte un nom et du code. Puis, quand
je clique sur mon bouton dans ma feuille, rien ne se passe.
En selectionnant le bouton en mode création, le nom que je
lui ai affecte apparait bien dans la zone de nom (au
dessus de la cellule A1), mais dans ses proprietes, le
bouton continue de s'appeler CommandButtonx (ou x est le
numero d'ordre de creation).
Qu'elle est la difference entre ces deux noms ?
Comment lui faire changer le nom que l'on trouve dans les
proprietes ?
*****Le Code en question*****
Public NomBouton As String
Public CaptionBouton As String
Sub InsererBoutonDeCommande()
Dim L As Double, T As Double, B As Object
NomBouton = NomBouton & Application.Substitute
(NomEvenement, ".", "_")
With ActiveSheet
L = .Range("I" & ActiveCell.Row).Left
T = .Range("I" & ActiveCell.Row).Top
With .OLEObjects.Add
(ClassType:="Forms.CommandButton.1", _
Link:úlse, DisplayAsIcon:úlse, Left:=L, _
Top:=T, Width:@, Height:.75)
With .Object
.ForeColor = RGB(255, 255, 255)
.BackColor = RGB(0, 0, 128)
.Caption = CaptionBouton
.Font.Name = "Arial"
.Font.Size = 5
End With
.Name = NomBouton
.PrintObject = False
InsérerLeCodeDuBouton ActiveSheet.Name, .Name
End With
End With
End Sub
Sub InsérerLeCodeDuBouton(NomFeuille As String, NomBouton
As String)
Dim A As String
A = Worksheets(NomFeuille).CodeName
code = " Private Sub " & NomBouton & "_Click()" & vbCrLf
code = code & "call Crea2Projet(""" & NomEvenement & """)"
& vbCrLf
code = code & "End Sub"
Set B = ThisWorkbook.VBProject.VBComponents(A).CodeModule
With B
.AddFromString code
End With
Set B = Nothing
End Sub
*****Fin du code*****
Note : les variables NomBouton et CaptionBouton etant deja
initialisees avant.
Effectivement avec XL97, le nom du bouton pose problème. Voici une copie d'un message que j'avais posté il y a quelque temps.
------------------------------------------------------------------------ Voila 1 petit exemple qui fonctionne sur XL97 et 2000. Tu colle tous le code qui suit dans le module d'une feuille de calcul. Sur cette feuille de calcul, tu insere 1 CommandButton nommé CommandButton1. Ce Bouton permet lors du premier Click d'insérer 1 CommandButton puis lors du Click suivant de le supprimer. Si tu est sur Mac, tu supprimes les 2 références a "user32". Tu enléves les commentaires sur les lignes qui comportent Application.ScreenUpdating. Tu met en commentaire la ligne qui suit Application.ScreenUpdating .
Option Explicit
Private Declare Function LockWindowUpdate Lib "user32" _ (ByVal hwndLock As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Sub CommandButton1_Click()
Static LeBouton As String Dim MonBouton As OLEObject, lenom As String
If LeBouton = vbNullString Then LeBouton = "NouveauBouton" On Error Resume Next Set MonBouton = ActiveSheet.OLEObjects(LeBouton) On Error GoTo 0 If MonBouton Is Nothing Then lenom = CreerBoutonAvecEventClick(ActiveSheet, Range("D4"), LeBouton) MsgBox "Nom Choisi = " & LeBouton & vbNewLine & _ "Nom Obtenu = " & lenom LeBouton = lenom Exit Sub Else Set MonBouton = Nothing MsgBox "Le Bouton " & NettoieBoutonEtCodeClick(ActiveSheet, LeBouton) & _ " a été éffaçé" & vbNewLine & "Le Bouton demandé était " & LeBouton LeBouton = vbNullString End If
End Sub Function CreerBoutonAvecEventClick(WS As Worksheet, _ LaCell As Range, lenom As String) As String 'créer un bouton sur une feuille de calcul, avec son événement Click
Dim OleObj As OLEObject Dim Ctrl As MSForms.CommandButton Dim LeCode As String Dim CtrlName As String
On Error Resume Next Set OleObj = WS.OLEObjects(lenom) On Error GoTo 0 If Not OleObj Is Nothing Then Set OleObj = Nothing: Exit Function ' Application.ScreenUpdating = False LockWindowUpdate GetDesktopWindow ActiveCell.Activate With LaCell Set OleObj = WS.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _ Left:=.Left, Top:=.Top, Height:=.Height * 2, Width:=.Width * 2) End With OleObj.Name = lenom Set Ctrl = OleObj.Object Ctrl.Caption = lenom CtrlName = Ctrl.Name LeCode = "Msgbox ""Je suis le nouveau bouton "" & vbNewLine & _" & _ vbNewLine & """Mon Nom de Control est "" & """ & Ctrl.Name & """" & _ " & vbNewLine & _" & vbNewLine & _ """Mon Nom d'OLEObject est "" & """ & OleObj.Name & """" With ThisWorkbook.VBProject.VBComponents(Ctrl.Parent.Name).CodeModule .ReplaceLine .CreateEventProc("Click", CtrlName) + 1, LeCode .VBE.MainWindow.Visible = False End With ' Application.ScreenUpdating = True LockWindowUpdate False CreerBoutonAvecEventClick = CtrlName Set OleObj = Nothing Set Ctrl = Nothing
End Function
Function NettoieBoutonEtCodeClick(WS As Worksheet, _ lenom As String) As String 'supprimer un bouton et son événement Click sur une feuille de calcul.
Dim OleObj As OLEObject Dim Ctrl As MSForms.CommandButton
On Error Resume Next Set OleObj = WS.OLEObjects(lenom) On Error GoTo 0 If OleObj Is Nothing Then Exit Function Application.ScreenUpdating = False Set Ctrl = OleObj.Object lenom = Ctrl.Name ActiveCell.Activate OleObj.Delete Set OleObj = Nothing With ActiveWorkbook.VBProject.VBComponents(WS.CodeName).CodeModule .DeleteLines .ProcStartLine(lenom & "_Click", 0), _ .ProcCountLines(lenom & "_Click", 0) End With Set Ctrl = Nothing Application.ScreenUpdating = True NettoieBoutonEtCodeClick = lenom
End Function ------------------------------------------------------------------------- Alain CROS.
"Pierre Dumas" a écrit dans le message de news: 101a01c3b364$3b230c40$ Bonjour tout le monde,
Grace a vous je sais bien faire des boutons (du genre CommandButton) sous Excel 2000 et XP. Tout fonctionne correctement. Malheureusement, cela ne marche pas avec Excel 97. J'ai un probleme de nom.
Je m'explique :
Avec le code ci-dessous, j'insere un bouton dans ma feuille et je lui affecte un nom et du code. Puis, quand je clique sur mon bouton dans ma feuille, rien ne se passe. En selectionnant le bouton en mode création, le nom que je lui ai affecte apparait bien dans la zone de nom (au dessus de la cellule A1), mais dans ses proprietes, le bouton continue de s'appeler CommandButtonx (ou x est le numero d'ordre de creation). Qu'elle est la difference entre ces deux noms ? Comment lui faire changer le nom que l'on trouve dans les proprietes ?
*****Le Code en question***** Public NomBouton As String Public CaptionBouton As String
Sub InsererBoutonDeCommande()
Dim L As Double, T As Double, B As Object NomBouton = NomBouton & Application.Substitute (NomEvenement, ".", "_")
With ActiveSheet L = .Range("I" & ActiveCell.Row).Left T = .Range("I" & ActiveCell.Row).Top With .OLEObjects.Add (ClassType:="Forms.CommandButton.1", _ Link:úlse, DisplayAsIcon:úlse, Left:=L, _ Top:=T, Width:@, Height:.75) With .Object .ForeColor = RGB(255, 255, 255) .BackColor = RGB(0, 0, 128) .Caption = CaptionBouton .Font.Name = "Arial" .Font.Size = 5 End With .Name = NomBouton .PrintObject = False InsérerLeCodeDuBouton ActiveSheet.Name, .Name End With End With
End Sub
Sub InsérerLeCodeDuBouton(NomFeuille As String, NomBouton As String)
Dim A As String
A = Worksheets(NomFeuille).CodeName
code = " Private Sub " & NomBouton & "_Click()" & vbCrLf code = code & "call Crea2Projet(""" & NomEvenement & """)" & vbCrLf code = code & "End Sub" Set B = ThisWorkbook.VBProject.VBComponents(A).CodeModule With B .AddFromString code End With Set B = Nothing
End Sub *****Fin du code***** Note : les variables NomBouton et CaptionBouton etant deja initialisees avant.
En esperant avoir ete clair.
Merci d'avance
Pierre
Pierre Dumas
Bonjour
J'avais bien vu ton message, mais n'y avait pas prete assez attention :-(
Toutefois, une legere modification semble s'imposer. Au lieu de :
Il devrait y avoir : OleObj.Name = lenom Set Ctrl = OleObj.Object Ctrl.Caption = lenom Ctrl.Name = lenom
Bonne journee et merci encore.
Pierre
Alain CROS
Bonjour.
Je l'ais écrit comme ça pour pointer la différence de comportement entre vba5(XL97) et vba6(XL2000 et >). Dans mon exemple:
Avec vba6, le code créer est : Private Sub NouveauBouton_Click() MsgBox "Je suis le nouveau bouton " & vbNewLine & _ "Mon Nom de Control est " & "NouveauBouton" & vbNewLine & _ "Mon Nom d'OLEObject est " & "NouveauBouton" End Sub
Avec vba5, le code créer est : Private Sub CommandButton2_Click() MsgBox "Je suis le nouveau bouton " & vbNewLine & _ "Mon Nom de Control est " & "CommandButton2" & vbNewLine & _ "Mon Nom d'OLEObject est " & "NouveauBouton" End Sub
Alain CROS.
"Pierre Dumas" a écrit dans le message de news: 0bb701c3b40a$4e68a7a0$
Bonjour
J'avais bien vu ton message, mais n'y avait pas prete assez attention :-(
Toutefois, une legere modification semble s'imposer. Au lieu de :
Il devrait y avoir : OleObj.Name = lenom Set Ctrl = OleObj.Object Ctrl.Caption = lenom Ctrl.Name = lenom
Bonne journee et merci encore.
Pierre
Bonjour.
Je l'ais écrit comme ça pour pointer la différence de comportement entre vba5(XL97) et vba6(XL2000 et >).
Dans mon exemple:
Avec vba6, le code créer est :
Private Sub NouveauBouton_Click()
MsgBox "Je suis le nouveau bouton " & vbNewLine & _
"Mon Nom de Control est " & "NouveauBouton" & vbNewLine & _
"Mon Nom d'OLEObject est " & "NouveauBouton"
End Sub
Avec vba5, le code créer est :
Private Sub CommandButton2_Click()
MsgBox "Je suis le nouveau bouton " & vbNewLine & _
"Mon Nom de Control est " & "CommandButton2" & vbNewLine & _
"Mon Nom d'OLEObject est " & "NouveauBouton"
End Sub
Alain CROS.
"Pierre Dumas" <anonymous@discussions.microsoft.com> a écrit dans le message de news: 0bb701c3b40a$4e68a7a0$a501280a@phx.gbl...
Bonjour
J'avais bien vu ton message, mais n'y avait pas prete
assez attention :-(
Toutefois, une legere modification semble s'imposer.
Au lieu de :
Je l'ais écrit comme ça pour pointer la différence de comportement entre vba5(XL97) et vba6(XL2000 et >). Dans mon exemple:
Avec vba6, le code créer est : Private Sub NouveauBouton_Click() MsgBox "Je suis le nouveau bouton " & vbNewLine & _ "Mon Nom de Control est " & "NouveauBouton" & vbNewLine & _ "Mon Nom d'OLEObject est " & "NouveauBouton" End Sub
Avec vba5, le code créer est : Private Sub CommandButton2_Click() MsgBox "Je suis le nouveau bouton " & vbNewLine & _ "Mon Nom de Control est " & "CommandButton2" & vbNewLine & _ "Mon Nom d'OLEObject est " & "NouveauBouton" End Sub
Alain CROS.
"Pierre Dumas" a écrit dans le message de news: 0bb701c3b40a$4e68a7a0$
Bonjour
J'avais bien vu ton message, mais n'y avait pas prete assez attention :-(
Toutefois, une legere modification semble s'imposer. Au lieu de :