Placement de checkbox

Résolu
waga0277 Messages postés 2 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 15 juin 2006 - 14 juin 2006 à 13:32
waga0277 Messages postés 2 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 15 juin 2006 - 15 juin 2006 à 13:34
Salut toute l'équipe,


Ca ne devrait pas etre trop compliqué, mais bon quand on débute, il reste un long chemin à faire ...

Alors voila la situation :

Sous Excel, je créé une base de données et je souhaiterais que pour
chaque nouvelle ligne créée une checkbox  s'affiche
automatiquement (Sachant qu'il y aura beaucoup d'info, pas moyen de
créer les checkbox d'avance et de les masquer, il faut vraiment que la
Chkbox soit créée pour chaque nouvel enregistrement)

Bref, je pense (enfin j'espère ...)
m'en
tirer tout seul avec ca mais la ou je bloque c'est sur la facon de
venir placer la chkbox ds une cellule. Et qu'il faut obligatoirerment
donner des coordonnées et si oui, y a t'il un moyen de connaitre la
hauteur de ligne ?

Bref je suis un peu ds ls brouillard, alors si qq'un peut m'aider ca sera très aprécié ...

Merci bp

Waga

2 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 4
15 juin 2006 à 00:14
Salut,
tiens voilà une sub qui va te permètre de placer un CheckBox dans une cellule,
bien sur tu dois l'adapter pour ton cas, tu devra selon le cas augmenter la hauteur de tes lignes pour que la checkBox soit totalement visible.
Cette sub doit être mise dans un module dans le cas ou tu travailles sur plusieurs feuilles.
Pour l'appel tu fait tout simplement:

chkAdd ActiveCell, ActiveSheet

Sub chkAdd(MyRange As Range, wks As Worksheet)





  Dim MyObj As OLEObject

  With MyRange

    Set MyObj = wks.OLEObjects.Add(ClassType:="Forms.checkbox.1", _

        Left:=.Left, Top:=.Top, Height:=.Height, Width:=.Width)

  End With

  With MyObj

    ' On donne un nom distinct pour éviter les noms anbigues dans le code

    .Name = "Chk" & MyRange.Row & MyRange.Column

    .Object.Caption = "Ici le caption"

  End With

  ' Ici se trouve le code pour l'évènement de ton CheckBox

  With ThisWorkbook.VBProject.VBComponents(MyObj.Parent.Name).CodeModule

    .InsertLines .CreateEventProc("Click", MyObj.Name) + 1, _

        "Msgbox ""Ici le code pour l'évènement"" "

  End With

  AppActivate Application.Caption

End Sub

Cordialement, Jean-Paul  
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
waga0277 Messages postés 2 Date d'inscription mercredi 14 juin 2006 Statut Membre Dernière intervention 15 juin 2006
15 juin 2006 à 13:34
Salut Jean Paul,


Un grand merci pour ta réponse rapide !

Je vais tester ca cette après midi  et je te tiens au courant

PS : J'aurais certainement d'autres questions ...

Encore merci. Moi ca me laisse admiratif  tout ca ...

Waga
0