Besoin d aide car là j y arrive vraiment pas

Esprit44 Messages postés 27 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 mai 2005 - 16 août 2004 à 10:24
plaineR Messages postés 237 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 6 décembre 2005 - 16 août 2004 à 16:44
Salut tout le monde

Voila ca matin j abandonne car j y arrive vraiment pas. Malgré le site de msdn et le forum, j y arrive pas
j ai des chkbox dans une frame
je souhaiterais connaitre la position du dernier pour pouvoir rajouter des nouvelles chkbox
J ai bien compris que tout ce situe par le biais de .left et . top mais desesperement je n arrive pas. POur simplfier la chose, je suis sous vba (word). Donc si vous avez ma solution, je crois que mes cheveux vous en seront tres reconnaissant. SInon je serais chauve avant l age

Merci d avance
ChRiS

6 réponses

el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
16 août 2004 à 11:20
bah prkoi t'y arrives pas ? Il est ou plus précisément ton pb.

Tu crée un groupe de contrôle chckbox.

elles s'appeleront donc machin(0), machin(1), etc...

ensuite, tu fais une boucle for each ou un truc dans le genre je sais plus trop, mais je crois bien que c'est for each pour un groupe de contrôle. Donc dans cette boucle, tu vas enregistrer le .top et le .left de la dernière (ou de celle qui t'intéresse) chckbox. Puis il y a une méthode, ...héhé que je ne me rapelle plus, mais elle existe et je l'ai déja utilisée pour des command buttons (j'en créais jusqu'à 600 sur ma page pour simuler des produits), donc tu add une nouvelle chckbox genre à top+150 et left + 150 par rapport à la précédente....

il est ou ton problème ? ? ? hi hi hi ;) je rigole (j'ai mis des semaines à y arriver à l'époque)
0
Esprit44 Messages postés 27 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 mai 2005
16 août 2004 à 11:32
Ben oui c'est la le pb sauf que la franchement tu vois ca fait 3 semaines que je galere sur le projet. je suis parit de zero (pour la formation) a partir d'ici ( que je remercie au passage) et de lecture sur le net et dans qq bouquin. Le pb est que vba et bcp plus chiant que vb et j arrive pas a adpater. Ce que je souhaiterais c'est la ligne qui me permettent de trouver la derniere chkbox
Le groupe est deja creer mais je sais aps comment retrouver la position de la derniere chkbox

ChRiS
0
plaineR Messages postés 237 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 6 décembre 2005 4
16 août 2004 à 12:10
Si tu as 3 checkbox tu fais et que tu en crées une quatrième (nb l'index du groupe de contrôle commence à 0 en général):

- si tu veux mettre la checkbox que tu crées en dessous de la précédente :
chk(3).top = chk(2).top + chk(2).height


- si tu veux mettre la checkbox que tu crées à droite de la précédente :
chk(3).top = chk(2).left + chk(2).width


et voiloù...
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
16 août 2004 à 16:13
> plaineR : a mon avis c'est pas ca qu'il veut :) Ca il doit le savoir hé hé

> Esprit44
bon, alors voilà :

Public Item As CheckBox
Public numero As Integer
Public gauche As Integer
Public haut As Integer
Private Sub Command1_Click()
nom = "Check" & Trim(Str(numero + 1))
Set Nouvelle_CheckBox = Me.Controls.Add("VB.checkbox", nom)
    With Controls(nom)
    .Left = gauche + 400
    .Top = haut + 400
    .Visible = True
    gauche = .Left
    haut = .Top
End With
numero = numero + 1
End Sub


ce code crée autant de chackbox que tu cliques sur command1.
De plus, les valeurs top et left du dernier crée sont sauvegardées dans "haut" et "gauche", 2 variables publiques. Ainsi, lors d'une nouvelle création, tu place la nouvelle ou tu veux par rapport à "haut" et "gauche"...

cqft ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
16 août 2004 à 16:16
Oups, ps, ne t'occupe pas de "Public Item As CheckBox" c'était pour un essai en définissant une checkbox mais g po réussi. Sinon, voilà un bout de code qui marcherait :

>merci Crenaud76
Dim Item as Checkbox
For each Item In Checkbox1
Item.Value = True
Item.Caption = "Checkbox N°" & Item.Index
Next

mais, bon ce que j'ai écris au dessus marche.
0
plaineR Messages postés 237 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 6 décembre 2005 4
16 août 2004 à 16:44
Esprit 44 a écrit : "Ce que je souhaiterais c'est la ligne qui me permettent de trouver la derniere chkbox"

index_derniere_chk = chk1.ubound


et donc en faisant :
Load Check1(Check1.UBound + 1)
Check1(Check1.UBound).Top = Check1(Check1.UBound - 1).Top + Check1(Check1.UBound - 1).Height
Check1(Check1.UBound).Visible = True


cela ajoute une nouvelle checkbox en dessous de la dernière affichée...
0
Rejoignez-nous