OVH Cloud OVH Cloud

copier des éléments

3 réponses
Avatar
Papou
Bonjour a tous et toutes

Je travail avec VB version 4. Comme je suis débutant, pourriez vous me dire
comment faire pour copier disons un bouton. Pour être plus clair, je veux
créer un calendrier je dois donc avoir 7 carrés par ligne et 6 lignes. Je
voudrais éviter d'avoir a faire manuellement copier/coller 42 fois. J'ai
essayer la commade copy mais ça ne fonctionne pas.
Merci beaucoup pour votre aide et j'espère avoir été concis.

3 réponses

Avatar
Jacques93
Bonjour Papou,
Papou a écrit :
Bonjour a tous et toutes

Je travail avec VB version 4. Comme je suis débutant, pourriez vous me dire
comment faire pour copier disons un bouton. Pour être plus clair, je veux
créer un calendrier je dois donc avoir 7 carrés par ligne et 6 lignes. Je
voudrais éviter d'avoir a faire manuellement copier/coller 42 fois. J'ai
essayer la commade copy mais ça ne fonctionne pas.
Merci beaucoup pour votre aide et j'espère avoir été concis.



En mode développement, rien ne t'empêche de copier/coller plusieurs
contrôles en même temps. Selection avec Shift Click


--
Cordialement,

Jacques.
Avatar
Gloops
Salut,

Peut-être le veux-tu en dynamique ? (D'accord, si ça n'existe pas en VB4
je vais avoir l'air fin ...)

Enfin si tu veux tu gardes ça dans un coin pour un peu plus tard, pour
éviter une indigestion.

Voilà le mode d'emploi : tu crées un bouton, sur lequel tu écris
"Dimanche 21", et tu le dimensionnes correctement. Tu fais un
copier/coller, on te demande si tu veux créer un groupe de contrôles, tu
réponds oui.

Ensuite tu colles le code ci-dessous, qu'il va te rester à adapter bien
entendu. Il y a un MsgBox dans la boucle, tu peux l'activer en enlevant
l'apostrophe devant, pour maintenir un peu de suspense ...

Je te rappelle que lorsqu'il y a un _ (caractère souligné) à la fin
d'une ligne pour indiquer qu'elle se poursuit sur la ligne suivante, il
doit être suivi d'un espace. Ci-dessous il y en a trois.

A propos, pense à regarder si tu as quelque part un fichier mscal*.ocx,
flanqué d'un mscal*.hlp, ça peut te simplifier la vie.
* * *
Option Explicit

Private Sub Form_Load()
Dim N As Integer
Dim JourSem()
JourSem = Array("Lundi", "Mardi", "Mercredi", _
"Jeudi", "Vendredi", "Samedi", "Dimanche")
Me.Visible = True
Me.Caption = "Un mois un peu longuet ..."
Command1(0).Visible = False
Command1(1).Caption = "Lundi 1"
Me.Width = Command1(1).Width * 7 + Command1(1).Left * 2
Me.Height = Command1(1).Height * 7 + Command1(1).Top * 2
For N = 2 To 43
Load Command1(N)
Command1(N).Left = _
Command1(1).Left + ((N - 1) Mod 7) * Command1(1).Width
Command1(N).Top = _
Command1(1).Top + Int((N - 1) / 7) * Command1(1).Height
Command1(N).Caption = JourSem((N - 1) Mod 7) & " " & N
Debug.Print N, Command1(N).Top, Command1(N).Left
Command1(N).Visible = True
'MsgBox N
Next
End Sub

____________________________________
Papou a écrit, le 07/11/2005 17:39 :

Bonjour a tous et toutes

Je travail avec VB version 4. Comme je suis débutant, pourriez vous me dire
comment faire pour copier disons un bouton. Pour être plus clair, je veux
créer un calendrier je dois donc avoir 7 carrés par ligne et 6 lignes. Je
voudrais éviter d'avoir a faire manuellement copier/coller 42 fois. J'ai
essayer la commade copy mais ça ne fonctionne pas.
Merci beaucoup pour votre aide et j'espère avoir été concis.


Avatar
Gloops
Gloops a écrit, le 07/11/2005 20:36 :

Me.Height = Command1(1).Height * 7 + Command1(1).Top * 2



Argh ... Je me suis trompé de bouton, j'ai validé le message en croyant
lancer le programme pour tester.

La hauteur du formulaire ne semble pas suffisante, il semble qu'il
faille mettre

Me.Height = Command1(1).Height * 8 + Command1(1).Top * 2

Pourtant, j'avoue que je m'explique mal cela, puisque c'est bien sept
rangées de boutons, qu'il y a, à moins que j'aie mal compté.
Bon, après une bonne nuit ça devrait aller mieux.