Variable dans un TextBox

Résolu
Hennequin -  
 Hennequin -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. Hennequin
       
      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
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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