Variable dans un TextBox

Résolu
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

  1. Contributeur
    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
    

    1. 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)