[Résolu] Insertion de CheckBox automatique

Insertion de CheckBox automatique [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 20-10-2005 à 14:28:37    

Salut,
J'aimerai insérer des checkBox dans des cellules automatiquement. Petite explication du problème:
Dans une colonne (A par ex.) j'ai une liste d'entrée dont le nombre peux évoluer mais admettons qu'une variable "nbre_entrée" détermine ce nombre. Je souhaite dans une autre colonne (E par ex.) mettre en face des cellules des entrées une CheckBox:
http://img452.imageshack.us/img452/6472/excelmap2sp.jpg
Ici nbre_entrée=12 mais peux changer.
 
Comment dois-je procéder?
Si hou pléééééé  :ange:


Message édité par Orocher le 20-10-2005 à 17:44:47

---------------
Tout vient à point à qui sait se détendre
Reply

Marsh Posté le 20-10-2005 à 14:28:37   

Reply

Marsh Posté le 20-10-2005 à 15:23:10    

Peut être faut t'il commencer plus simple, pouvez vous me dire comment par une macro je peux insérer une checkbox dans une feuille? :??:  :??:  :??: [:atlantis]


---------------
Tout vient à point à qui sait se détendre
Reply

Marsh Posté le 20-10-2005 à 16:44:47    

Orocher a écrit :

Peut être faut t'il commencer plus simple, pouvez vous me dire comment par une macro je peux insérer une checkbox dans une feuille? :??:  :??:  :??: [:atlantis]

l'enregistreur de macro sur excel est très sympa pour trouver les "macro type"
chez moi il donne ça pour ajouter un check box:

Code :
  1. ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
  2.                DisplayAsIcon:=False, Left:=80, Top:=80, Width:=10, Height:=10 _
  3.                ).Select


en jouant sur le top et le left grace au top et au left de la cellule(E1 par exemple) tu devrais pouvoir l'obtenir où tu veux.
Ensuite une petite boucle do...While...loop en testant si tu as des entrée en A... et tu auras tes checkboxes.
Donc tu obtiens une macro de ce type :

Code :
  1. Dim t, l, i
  2.      i = 1
  3.      Do While Cells(i, 1).Value <> ""
  4.           Workbooks("classeur2" ).Activate
  5.           Sheets(4).Activate
  6.           Cells(i, 5).Select
  7.           t = ActiveCell.Top
  8.           l = ActiveCell.Left
  9.           ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
  10.                DisplayAsIcon:=False, Left:=l + 2, Top:=t + 2, Width:=10, Height:=10 _
  11.                ).Select
  12.           i = i + 1
  13.      Loop


bon courage :)
edit : marche sous excel 2002 , comme tu n'as pas indiqué ta config dans le post, j'espère que ça ira...


Message édité par watashi le 20-10-2005 à 16:46:05

---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 20-10-2005 à 17:06:04    

Merki  :jap:  
Je bosse sur Excel Edition 2003, ça marche nikel ;)
 
Merci WaTaShi  :D   :D   :D


---------------
Tout vient à point à qui sait se détendre
Reply

Marsh Posté le 20-10-2005 à 17:20:59    

de rien :)
si tu edite le titre de ton post avec résolu ça pouura en aider d'autres :)


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed