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
anomymousA
bonjour,
extrait de l'aide VBA sur les objets OLEObject (tu peux aussi regarder l'aide sur "Utilisation des contrôles ActiveX dans uen feuille") :
Un contrôle ActiveX d'une feuille possède deux noms : le nom de la forme qui contient le contrôle d'une part, que vous pouvez visualiser dans la zone Nom lorsque la feuille est affichée, et le nom de code du contrôle d'autre part, qui apparaît dans la cellule affichée à droite de (Nom) dans la fenêtre Propriétés. Lorsque vous ajoutez un contrôle à une feuille pour la première fois, le nom de la forme est identique au nom de code. Toutefois, la modification de l'un de ces deux noms n'entraîne pas automatiquement la modification de l'autre.
Vous utilisez le nom de code d'un contrôle dans les noms de ses procédures événementielles. Toutefois, lorsque vous renvoyez un contrôle à partir de la collection Shapes ou OLEObjects d'une feuille, vous devez utiliser le nom de la forme et pas le nom de code pour faire référence au contrôle. Supposons, par exemple, que vous ayez ajouté une case à cocher à une feuille et que CheckBox1 soit à la fois le nom par défaut de la forme et le nom de code par défaut. Si vous modifiez ensuite le nom de code du contrôle en tapant chkFinished à côté de (Nom) dans la fenêtre Propriétés, vous devez utiliser chkFinished dans les noms de procédures événementielles, mais continuer à utiliser CheckBox1 pour renvoyer le contrôle à partir de la collection Shapes ou OLEObject, comme l'illustre l'exemple suivant.
Private Sub chkFinished_Click() ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1 End Sub
En réalité, ce n'est pas si clair que veut bien le dire l'aide VBA. Si je nommes mon bouton CBTATA dans la zone Nom de la feuille, automatiquement, la propriété nom du controle devient aussi CBTATA et vice et versa. On dirait donc que nos amis de SEATTLE m'induisent en erreur ou peut-être est-ce une réminiscence d'anciennes versions qui ne sont plus valides à partir d'Excel 2000.
Par ailleurs, il n'y a pas au moins en Excel 2000, d'intellisense attaché à Object.
extrait de l'aide VBA sur les objets OLEObject (tu peux aussi regarder
l'aide sur "Utilisation des contrôles ActiveX dans uen feuille") :
Un contrôle ActiveX d'une feuille possède deux noms : le nom de la forme qui
contient le contrôle d'une part, que vous pouvez visualiser dans la zone Nom
lorsque la feuille est affichée, et le nom de code du contrôle d'autre part,
qui apparaît dans la cellule affichée à droite de (Nom) dans la fenêtre
Propriétés. Lorsque vous ajoutez un contrôle à une feuille pour la première
fois, le nom de la forme est identique au nom de code. Toutefois, la
modification de l'un de ces deux noms n'entraîne pas automatiquement la
modification de l'autre.
Vous utilisez le nom de code d'un contrôle dans les noms de ses procédures
événementielles. Toutefois, lorsque vous renvoyez un contrôle à partir de la
collection Shapes ou OLEObjects d'une feuille, vous devez utiliser le nom de
la forme et pas le nom de code pour faire référence au contrôle. Supposons,
par exemple, que vous ayez ajouté une case à cocher à une feuille et que
CheckBox1 soit à la fois le nom par défaut de la forme et le nom de code par
défaut. Si vous modifiez ensuite le nom de code du contrôle en tapant
chkFinished à côté de (Nom) dans la fenêtre Propriétés, vous devez utiliser
chkFinished dans les noms de procédures événementielles, mais continuer à
utiliser CheckBox1 pour renvoyer le contrôle à partir de la collection Shapes
ou OLEObject, comme l'illustre l'exemple suivant.
Private Sub chkFinished_Click()
ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1
End Sub
En réalité, ce n'est pas si clair que veut bien le dire l'aide VBA. Si je
nommes mon bouton CBTATA dans la zone Nom de la feuille, automatiquement, la
propriété nom du controle devient aussi CBTATA et vice et versa.
On dirait donc que nos amis de SEATTLE m'induisent en erreur ou peut-être
est-ce une réminiscence d'anciennes versions qui ne sont plus valides à
partir d'Excel 2000.
Par ailleurs, il n'y a pas au moins en Excel 2000, d'intellisense attaché à
Object.
extrait de l'aide VBA sur les objets OLEObject (tu peux aussi regarder l'aide sur "Utilisation des contrôles ActiveX dans uen feuille") :
Un contrôle ActiveX d'une feuille possède deux noms : le nom de la forme qui contient le contrôle d'une part, que vous pouvez visualiser dans la zone Nom lorsque la feuille est affichée, et le nom de code du contrôle d'autre part, qui apparaît dans la cellule affichée à droite de (Nom) dans la fenêtre Propriétés. Lorsque vous ajoutez un contrôle à une feuille pour la première fois, le nom de la forme est identique au nom de code. Toutefois, la modification de l'un de ces deux noms n'entraîne pas automatiquement la modification de l'autre.
Vous utilisez le nom de code d'un contrôle dans les noms de ses procédures événementielles. Toutefois, lorsque vous renvoyez un contrôle à partir de la collection Shapes ou OLEObjects d'une feuille, vous devez utiliser le nom de la forme et pas le nom de code pour faire référence au contrôle. Supposons, par exemple, que vous ayez ajouté une case à cocher à une feuille et que CheckBox1 soit à la fois le nom par défaut de la forme et le nom de code par défaut. Si vous modifiez ensuite le nom de code du contrôle en tapant chkFinished à côté de (Nom) dans la fenêtre Propriétés, vous devez utiliser chkFinished dans les noms de procédures événementielles, mais continuer à utiliser CheckBox1 pour renvoyer le contrôle à partir de la collection Shapes ou OLEObject, comme l'illustre l'exemple suivant.
Private Sub chkFinished_Click() ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1 End Sub
En réalité, ce n'est pas si clair que veut bien le dire l'aide VBA. Si je nommes mon bouton CBTATA dans la zone Nom de la feuille, automatiquement, la propriété nom du controle devient aussi CBTATA et vice et versa. On dirait donc que nos amis de SEATTLE m'induisent en erreur ou peut-être est-ce une réminiscence d'anciennes versions qui ne sont plus valides à partir d'Excel 2000.
Par ailleurs, il n'y a pas au moins en Excel 2000, d'intellisense attaché à Object.