Insertion de CheckBox

Insertion de CheckBox - VB/VBA/VBS - Programmation

Marsh Posté le 02-07-2009 à 11:20:43    

Bonjour tout le monde,
 
J'aurais besoin de votre aide sur trois points.
J'ai créé une macro pour inserer des CheckBox sur toutes les lignes d'un tableau.
 
1°) Je l'ai fait avec un For et du coup c'est assez long car il y a plus de 1500lignes. Ne peut on pas le faire autrement (genre en selectionnant toutes les cellules d'un coup et en inserant toutes les checkbox en même temps ?)
2°) J'aimerais qu'elles soient insérées en étant cochées (donc True), mais en placant un peu partout un valeur:=True ca n'a rien donné, comme puis-je faire ?
3°) Dans la macro essai() je souhaite copié l'était (vrai ou faux) des checkbox de chaque ligne dans une colonne de chacune des ligne mais cette macro ne marche pas, j'ai du mal nommer les checkbox dans Checkbox() ou mal les appeler dans essai() mais en remuant le truc dans tous les sens je n'ai pas réussi à m'extirper....
 
Merci par avance pour  votre aide
 

Code :
  1. Sub CheckBox()
  2. Dim t, l, i
  3.    
  4.      NbreLignes = Application.CountA(Range("Q1:Q65536" )) + 3
  5.      For i = 5 To 10
  6.    
  7.           Sheets(1).Activate
  8.           Cells(i, 20).Select
  9.           t = ActiveCell.Top
  10.           l = ActiveCell.Left
  11.           Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
  12.                DisplayAsIcon:=False, Left:=l + 30, Top:=t + 2, Width:=10, Height:=10 _
  13.                )
  14.     Obj.Name = "Check" & i
  15.       Next i
  16. End Sub
  17. Sub essai()
  18. For i = 5 To 10
  19. If "Check" & i.Value = True Then
  20. Cells(i, 25) = "OUI"
  21. Else
  22. Cells(i, 25) = "NON"
  23. End If
  24. Next i
  25. End Sub


Message édité par Tomuscz le 02-07-2009 à 12:36:23
Reply

Marsh Posté le 02-07-2009 à 11:20:43   

Reply

Marsh Posté le 02-07-2009 à 12:36:20    

Pour les cocher essaye  "Value:=1" ou "Value:=True".

Reply

Marsh Posté le 02-07-2009 à 12:37:26    

Merci de t'interesser à mon sujet Daemon (je l'ai actualisé d'ailleurs)
 
ouais c'est ce que je comptais faire a quel endroit de mon code je dois le placer ou le valeur:=True ?

Reply

Marsh Posté le 02-07-2009 à 12:39:15    

Avec les autres paramètres de la méthode ActiveSheet.OLEObjects.Add

Reply

Marsh Posté le 02-07-2009 à 13:35:35    

bah écoute j'ai fait Set Obj = ActiveSheet.OLEObjects.Add
 
(ClassType:="Forms.CheckBox.1", value:=True, Link:=False, _
               DisplayAsIcon:=False, Left:=l + 30, Top:=t + 2, Width:=10, Height:=10 )
 
par exemple et ça me crée une erreur

Reply

Marsh Posté le 02-07-2009 à 13:38:03    

Et avec un V majuscule et 1 au lieu de True ?
C'est quoi l'erreur ?

Reply

Marsh Posté le 02-07-2009 à 13:57:17    

l'erreur est  
 
Erreur d'exécution '448':
Argument nommé introuvable
 
 
Et c'est la même que je mette 1 ou True et ou que je le mette dans la chaine

Reply

Marsh Posté le 02-07-2009 à 14:01:36    

Je sais pas alors car il me semble bien qu'en temps normal on utiliser par exemple Checkbox1.Value = 1 pour cocher.
 
 
Sinon pour optimiser ton code je vois pas trop ce qu'on peut faire.

Reply

Sujets relatifs:

Leave a Replay

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