Variable dans un TextBox

Résolu/Fermé
Hennequin - 6 avril 2022 à 11:56
 Hennequin - 6 avril 2022 à 16:52
Bonjour,

Je travail actuellement sur un petit jeu et j'utilise un userform avec des TextBox à remplir (38 TextBox pour être précis), j'essaye d'automatiser le code pour ne pas avoir un programme trop long.

Voici mon code:
Dim AA As Byte, BB As Byte
AA = 1
BB = 2
Do While AA <= 37
With Cells(TextBoxAA, TextBoxBB)
Value = 1
Interior.Color = 5296274
HorizontalAlignment = xlCenter
VerticalAlignment = xlCenter
End With
AA = AA + 2
BB = BB + 2
Loop


Objectif: mettre la valeur 1 dans la case, la coloriée en vert puis centré verticalement et horizontalement pour que ça soit joli.

Problème: je ne parviens pas à automatiser la ligne With Cells... j'ai essayé avec des " et des & mais je ne trouve pas.

Merci d'avance pour votre aide
Configuration: Windows / Chrome 99.0.4844.84

2 réponses

f894009 Messages postés 17229 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 janvier 2025 1 712
Modifié le 6 avril 2022 à 16:45
Bonjour a vous deux,

Je pense que la plage de cellules est definie par le contenu des textbox. Autrement, en effet, que viennent-elles faire dans le code

Private Sub CommandButton1_Click()
    Dim AA As Byte, BB As Byte
    AA = 1
    BB = 2
    Do While AA <= 37
        With Cells(Me.Controls("TextBox" & AA), Me.Controls("TextBox" & BB))
            .Value = 1
            .Interior.Color = 5296274
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
        End With
        AA = AA + 2
        BB = BB + 2
    Loop
End Sub
1
Bonjour à tous les deux ! Merci pour votre aide, effectivement f894009 à bien compris mes explications (qui ne sont pas simples, je le concède). Mon problème est donc résolus ! Merci !

Pour l'info, c'est une bataille navale, mon adversaire (celui pour qui je fais le fichier) doit indiquer la position de ses bateaux dans les textbox (il y a 19 cases à placer d'où les 38 textboxs)
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
6 avril 2022 à 16:38
Bonjour,

je n'ai pas compris ce que venait faire les TextBox?

essaie ceci:

Sub test()
Dim AA As Byte, BB As Byte
AA = 1
BB = 2
Do While AA <= 37
With Cells(AA, BB)
.Value = 1
.Interior.Color = 5296274
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
AA = AA + 2
BB = BB + 2
Loop
End Sub

0