Sur Feuil1 d'un classeur "Caisse.xls", j'ai placé quelques controles
CheckBox de la boite à outils "Controles". Comment faire pour les initialiser
à "False" au démarrage du classeur ?. J'ai déja vu un code qui fait cela sur
un UserForm.
Sur une feuille, je ne trouve pas. Pouvez-vous m'aider ?
Merci d'avance et @ + car la, je m'en vais au boulot !
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
Daniel
Bonsoir. Dans "ThisWorkbook", mets la macro :
Private Sub Workbook_Open() Sheets("Feuil1").CheckBox1.Value = False 'etc. End Sub
Cordialement. Daniel "moustic" a écrit dans le message de news:
Bonjour à tous, par toutatis !
Sur Feuil1 d'un classeur "Caisse.xls", j'ai placé quelques controles CheckBox de la boite à outils "Controles". Comment faire pour les initialiser à "False" au démarrage du classeur ?. J'ai déja vu un code qui fait cela sur un UserForm. Sur une feuille, je ne trouve pas. Pouvez-vous m'aider ?
Merci d'avance et @ + car la, je m'en vais au boulot !
Moustic
Bonsoir.
Dans "ThisWorkbook", mets la macro :
Private Sub Workbook_Open()
Sheets("Feuil1").CheckBox1.Value = False
'etc.
End Sub
Cordialement.
Daniel
"moustic" <moustic_kipic@hotmail.com> a écrit dans le message de news:
0585A6A9-0067-4339-B34D-ECFA8C79CF9D@microsoft.com...
Bonjour à tous, par toutatis !
Sur Feuil1 d'un classeur "Caisse.xls", j'ai placé quelques controles
CheckBox de la boite à outils "Controles". Comment faire pour les
initialiser
à "False" au démarrage du classeur ?. J'ai déja vu un code qui fait cela
sur
un UserForm.
Sur une feuille, je ne trouve pas. Pouvez-vous m'aider ?
Merci d'avance et @ + car la, je m'en vais au boulot !
Private Sub Workbook_Open() Sheets("Feuil1").CheckBox1.Value = False 'etc. End Sub
Cordialement. Daniel "moustic" a écrit dans le message de news:
Bonjour à tous, par toutatis !
Sur Feuil1 d'un classeur "Caisse.xls", j'ai placé quelques controles CheckBox de la boite à outils "Controles". Comment faire pour les initialiser à "False" au démarrage du classeur ?. J'ai déja vu un code qui fait cela sur un UserForm. Sur une feuille, je ne trouve pas. Pouvez-vous m'aider ?
Merci d'avance et @ + car la, je m'en vais au boulot !
Moustic
LSteph
Bonsoir, par Benelos,
Private Sub Workbook_Open() Dim i As Integer With Feuil1
For i = 1 To .OLEObjects.Count
If Left(.OLEObjects(i).Name, 5) = "Check" Then .OLEObjects(i).Object.Value = False End If Next End With End Sub
'@+
'LSteph
Bonjour à tous, par toutatis !
Sur Feuil1 d'un classeur "Caisse.xls", j'ai placé quelques controles CheckBox de la boite à outils "Controles". Comment faire pour les initialiser à "False" au démarrage du classeur ?. J'ai déja vu un code qui fait cela sur un UserForm. Sur une feuille, je ne trouve pas. Pouvez-vous m'aider ?
Merci d'avance et @ + car la, je m'en vais au boulot !
Moustic
Bonsoir, par Benelos,
Private Sub Workbook_Open()
Dim i As Integer
With Feuil1
For i = 1 To .OLEObjects.Count
If Left(.OLEObjects(i).Name, 5) = "Check" Then
.OLEObjects(i).Object.Value = False
End If
Next
End With
End Sub
'@+
'LSteph
Bonjour à tous, par toutatis !
Sur Feuil1 d'un classeur "Caisse.xls", j'ai placé quelques controles
CheckBox de la boite à outils "Controles". Comment faire pour les initialiser
à "False" au démarrage du classeur ?. J'ai déja vu un code qui fait cela sur
un UserForm.
Sur une feuille, je ne trouve pas. Pouvez-vous m'aider ?
Merci d'avance et @ + car la, je m'en vais au boulot !
Private Sub Workbook_Open() Dim i As Integer With Feuil1
For i = 1 To .OLEObjects.Count
If Left(.OLEObjects(i).Name, 5) = "Check" Then .OLEObjects(i).Object.Value = False End If Next End With End Sub
'@+
'LSteph
Bonjour à tous, par toutatis !
Sur Feuil1 d'un classeur "Caisse.xls", j'ai placé quelques controles CheckBox de la boite à outils "Controles". Comment faire pour les initialiser à "False" au démarrage du classeur ?. J'ai déja vu un code qui fait cela sur un UserForm. Sur une feuille, je ne trouve pas. Pouvez-vous m'aider ?
Merci d'avance et @ + car la, je m'en vais au boulot !
Moustic
moustic
Salut les p'tits loups
La nuit ne fut pas trop tourmentée mais passée en bonne compagnie (pour le boulot évidement : faut pas trop rêver !) et de plus m'apporta 2 réponses. Et ça fonctionne, en +. C'est y pas beau tout ça ?
Désolé, Daniel mais je préfère la solution de LSteph à cause de la boucle. 22 contrôles = 22 lignes de code et comme je n'utilise que des CheckBox, je n'ai même pas besoin du test. 6 lignes de code seulement et ça reste valable pour 50 contrôles si on veux.
Par contre, LSteph, si je n'abuse pas, peux-tu me dire comment on pourrait récupérer le .count avant le déroulement de la boucle ?
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour potasser sur les OLEObject !!!
Encore merci à tous les deux et bonne journée.
Moustic
Salut les p'tits loups
La nuit ne fut pas trop tourmentée mais passée en bonne compagnie (pour le
boulot évidement : faut pas trop rêver !) et de plus m'apporta 2 réponses.
Et ça fonctionne, en +. C'est y pas beau tout ça ?
Désolé, Daniel mais je préfère la solution de LSteph à cause de la boucle.
22 contrôles = 22 lignes de code et comme je n'utilise que des CheckBox, je
n'ai même pas besoin du test. 6 lignes de code seulement et ça reste valable
pour 50 contrôles si on veux.
Par contre, LSteph, si je n'abuse pas, peux-tu me dire comment on pourrait
récupérer le .count avant le déroulement de la boucle ?
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non
qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour
potasser sur les OLEObject !!!
La nuit ne fut pas trop tourmentée mais passée en bonne compagnie (pour le boulot évidement : faut pas trop rêver !) et de plus m'apporta 2 réponses. Et ça fonctionne, en +. C'est y pas beau tout ça ?
Désolé, Daniel mais je préfère la solution de LSteph à cause de la boucle. 22 contrôles = 22 lignes de code et comme je n'utilise que des CheckBox, je n'ai même pas besoin du test. 6 lignes de code seulement et ça reste valable pour 50 contrôles si on veux.
Par contre, LSteph, si je n'abuse pas, peux-tu me dire comment on pourrait récupérer le .count avant le déroulement de la boucle ?
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour potasser sur les OLEObject !!!
Encore merci à tous les deux et bonne journée.
Moustic
Francois L
Salut les p'tits loups (...)
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour potasser sur les OLEObject !!!
Bon repos,
Sub compte() Dim i As Integer With Feuil1 i = .OLEObjects.Count MsgBox i End With End Sub
-- François L
Salut les p'tits loups
(...)
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non
qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour
potasser sur les OLEObject !!!
Bon repos,
Sub compte()
Dim i As Integer
With Feuil1
i = .OLEObjects.Count
MsgBox i
End With
End Sub
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour potasser sur les OLEObject !!!
Bon repos,
Sub compte() Dim i As Integer With Feuil1 i = .OLEObjects.Count MsgBox i End With End Sub
-- François L
LSteph
Bonjour,
si tu t'en tiens à ce que j'ai suggèré , le .count va te ramener le compte de tous les OleObjects de la feuille c'est seulement dans la boucle qu'on test si c'est un checkbox
Pour le reste , si tu définis ta variable il n'y a pas de raison qu'elle ne soit pas valide. Exemple pour afficher un msgbox avec le nb de tous les objets OLE
Sub compteAfficheOle() Dim myVar As Integer myVar = Feuil1.OLEObjects.Count MsgBox myVar End Sub
'ou bien avec un with comme tu semblais faire
Sub compteAfficheOle() Dim myVar As Integer with Feuil1 myVar = .OLEObjects.Count end with MsgBox myVar End Sub
'Sinon pour compter une fonction peut être pas mal aussi:
Function OLECount() Application.Volatile OLECount = ActiveSheet.OLEObjects.Count End Function
'si on veut seulement les CheckBox
Function ChBCount() Dim oLb As OLEObject Application.Volatile ChBCount = 0 For Each oLb In ActiveSheet.OLEObjects If Left(oLb.Name, 5) = "Check" Then ChBCount = ChBCount + 1 End If Next End Function
Petit pb tout de même, malgré volatile, si on veut tester cela dans la feuille , l'ajout d'un contrôle ou oleobject n'a pas vocation à déclancher un recalcul.
'LSteph
Salut les p'tits loups
La nuit ne fut pas trop tourmentée mais passée en bonne compagnie (pour le boulot évidement : faut pas trop rêver !) et de plus m'apporta 2 réponses. Et ça fonctionne, en +. C'est y pas beau tout ça ?
Désolé, Daniel mais je préfère la solution de LSteph à cause de la boucle. 22 contrôles = 22 lignes de code et comme je n'utilise que des CheckBox, je n'ai même pas besoin du test. 6 lignes de code seulement et ça reste valable pour 50 contrôles si on veux.
Par contre, LSteph, si je n'abuse pas, peux-tu me dire comment on pourrait récupérer le .count avant le déroulement de la boucle ?
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour potasser sur les OLEObject !!!
Encore merci à tous les deux et bonne journée.
Moustic
Bonjour,
si tu t'en tiens à ce que j'ai suggèré , le .count
va te ramener le compte de tous les OleObjects de la feuille
c'est seulement dans la boucle qu'on test si c'est un checkbox
Pour le reste , si tu définis ta variable il n'y a pas de raison qu'elle
ne soit pas valide.
Exemple pour afficher un msgbox avec le nb de tous les objets OLE
Sub compteAfficheOle()
Dim myVar As Integer
myVar = Feuil1.OLEObjects.Count
MsgBox myVar
End Sub
'ou bien avec un with comme tu semblais faire
Sub compteAfficheOle()
Dim myVar As Integer
with Feuil1
myVar = .OLEObjects.Count
end with
MsgBox myVar
End Sub
'Sinon pour compter une fonction peut être pas mal aussi:
Function OLECount()
Application.Volatile
OLECount = ActiveSheet.OLEObjects.Count
End Function
'si on veut seulement les CheckBox
Function ChBCount()
Dim oLb As OLEObject
Application.Volatile
ChBCount = 0
For Each oLb In ActiveSheet.OLEObjects
If Left(oLb.Name, 5) = "Check" Then
ChBCount = ChBCount + 1
End If
Next
End Function
Petit pb tout de même, malgré volatile, si on veut tester cela dans la
feuille ,
l'ajout d'un contrôle ou oleobject n'a pas vocation à déclancher un
recalcul.
'LSteph
Salut les p'tits loups
La nuit ne fut pas trop tourmentée mais passée en bonne compagnie (pour le
boulot évidement : faut pas trop rêver !) et de plus m'apporta 2 réponses.
Et ça fonctionne, en +. C'est y pas beau tout ça ?
Désolé, Daniel mais je préfère la solution de LSteph à cause de la boucle.
22 contrôles = 22 lignes de code et comme je n'utilise que des CheckBox, je
n'ai même pas besoin du test. 6 lignes de code seulement et ça reste valable
pour 50 contrôles si on veux.
Par contre, LSteph, si je n'abuse pas, peux-tu me dire comment on pourrait
récupérer le .count avant le déroulement de la boucle ?
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non
qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour
potasser sur les OLEObject !!!
si tu t'en tiens à ce que j'ai suggèré , le .count va te ramener le compte de tous les OleObjects de la feuille c'est seulement dans la boucle qu'on test si c'est un checkbox
Pour le reste , si tu définis ta variable il n'y a pas de raison qu'elle ne soit pas valide. Exemple pour afficher un msgbox avec le nb de tous les objets OLE
Sub compteAfficheOle() Dim myVar As Integer myVar = Feuil1.OLEObjects.Count MsgBox myVar End Sub
'ou bien avec un with comme tu semblais faire
Sub compteAfficheOle() Dim myVar As Integer with Feuil1 myVar = .OLEObjects.Count end with MsgBox myVar End Sub
'Sinon pour compter une fonction peut être pas mal aussi:
Function OLECount() Application.Volatile OLECount = ActiveSheet.OLEObjects.Count End Function
'si on veut seulement les CheckBox
Function ChBCount() Dim oLb As OLEObject Application.Volatile ChBCount = 0 For Each oLb In ActiveSheet.OLEObjects If Left(oLb.Name, 5) = "Check" Then ChBCount = ChBCount + 1 End If Next End Function
Petit pb tout de même, malgré volatile, si on veut tester cela dans la feuille , l'ajout d'un contrôle ou oleobject n'a pas vocation à déclancher un recalcul.
'LSteph
Salut les p'tits loups
La nuit ne fut pas trop tourmentée mais passée en bonne compagnie (pour le boulot évidement : faut pas trop rêver !) et de plus m'apporta 2 réponses. Et ça fonctionne, en +. C'est y pas beau tout ça ?
Désolé, Daniel mais je préfère la solution de LSteph à cause de la boucle. 22 contrôles = 22 lignes de code et comme je n'utilise que des CheckBox, je n'ai même pas besoin du test. 6 lignes de code seulement et ça reste valable pour 50 contrôles si on veux.
Par contre, LSteph, si je n'abuse pas, peux-tu me dire comment on pourrait récupérer le .count avant le déroulement de la boucle ?
MyVar = .OLEObjects.Count me donne une erreur: Référence incorrect ou non qualifiée.
Je vais maintenant un peu me reposer afin de reprendre des forces pour potasser sur les OLEObject !!!
Encore merci à tous les deux et bonne journée.
Moustic
moustic
Hello les p'tits loups
Merci beaucoup pour toutes ces précisions. C'est un vrai plaisir de travailler avec vous. Elles m'ouvrent de nouvelles portes pour explorer quelques unes des nombreuses voies "insondables".... que comporte VBA. Je trouve astucieux de se servir d'une partie du nom des contrôle pour les filtrer. Donc je retiens l'idée de la boucle pour une autre fois.
Merci aussi à tous ceux qui consacrent de leur temps pour aider les p'tites têtes comme moi ;-)
@+ et bon dimanche à tous.
Hello les p'tits loups
Merci beaucoup pour toutes ces précisions. C'est un vrai plaisir de
travailler avec vous.
Elles m'ouvrent de nouvelles portes pour explorer quelques unes des
nombreuses voies "insondables".... que comporte VBA.
Je trouve astucieux de se servir d'une partie du nom des contrôle pour les
filtrer.
Donc je retiens l'idée de la boucle pour une autre fois.
Merci aussi à tous ceux qui consacrent de leur temps pour aider les p'tites
têtes comme moi ;-)
Merci beaucoup pour toutes ces précisions. C'est un vrai plaisir de travailler avec vous. Elles m'ouvrent de nouvelles portes pour explorer quelques unes des nombreuses voies "insondables".... que comporte VBA. Je trouve astucieux de se servir d'une partie du nom des contrôle pour les filtrer. Donc je retiens l'idée de la boucle pour une autre fois.
Merci aussi à tous ceux qui consacrent de leur temps pour aider les p'tites têtes comme moi ;-)