Commandbutton variable dans un module
trollotin
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai crée un programme afin que, lors ce que l'on clique sur un bouton, on compare des cellules à des valeurs rentrées dans des inputbox. J'ai plus de 30 boutons à réaliser et quand on passe du bouton 1 à 2 ( ou de 2 à 3 par exemple...), on incrémente d'une certaine valeur la colonne de la cellule à comparer.
Pour se faire j'incrémente, en fonction du bouton cliqué :
Mon problème est que, je veux changer la couleur du commandbutton sur lequel je viens de cliquer. Mais "Me.Controls..." ne fonctionne pas alors qu'il n'y avait aucun problème dans le programme du useform. Je devrais avoir le même problème pour textbox aussi...
Ma question est donc par quoi dois-je remplacer me.controls?
Je suis débutante sur VB, enfin en réalité j'y connais rien, je m'inspire juste de ce que je trouve sur le net. Cependant je n'arrive pas, cette fois-ci, à trouver la solution.
Merci d'avance pour votre aide et désolée pour la longueur de ma question.
J'ai crée un programme afin que, lors ce que l'on clique sur un bouton, on compare des cellules à des valeurs rentrées dans des inputbox. J'ai plus de 30 boutons à réaliser et quand on passe du bouton 1 à 2 ( ou de 2 à 3 par exemple...), on incrémente d'une certaine valeur la colonne de la cellule à comparer.
Pour se faire j'incrémente, en fonction du bouton cliqué :
Private Sub Butt14_Click() Dim a As Integer a = 0 Call toto End Sub Private Sub Butt15_Click() Dim a As Integer a = 1 Call toto End Sub ect...(jusqu'à butt58) Cela appel toto : Public Sub toto() Dim a As Integer 'incrément Dim k As Integer ' de 14 à 58 n° BAC Dim i As Integer ' ligne Dim stock1 As Date ' début essai Dim stock2 As Date ' fin essai Dim DateDebut As Date ' début essai voulu Dim DateFin As Date ' fin essai voulu k = 14 + a d = InputBox("Entrer la date de début d'essai voulu au format jj/mm/yyyy", "date", 0) If IsDate(d) Then DateDebut = d Else Exit Sub d = InputBox("Entrer la date de fin d'essai au format jj/mm/yyyy", "date", 0) If IsDate(d) Then DateFin = d Else Exit Sub If DateFin < DateDebut Then Beep: Exit Sub Application.ScreenUpdating = False For i = 5 To 20 stock1 = Cells(i, 2 + 5 * a) '.Value stock2 = Cells(i, 3 + 5 * a) '.Value If IsEmpty(Cells(i, 2 + 5 * a).Value) Or IsEmpty(Cells(i, 3 + 5 * a).Value) Then 'MsgBox "Date" & Chr(10) & "cellule vide " Exit For Else If (stock2 > DateDebut) And (stock1 < DateFin) Then MsgBox "Date" & Chr(10) & "pas d'emplacement libre du " & DateDebut & " au " & DateFin & " Le bac est pris du" & stock1 & " au " & stock2 butt14.BackColor = RGB(180, 100, 155) <bold> 'Me.Controls("butt" & k).BackColor = RGB(250, 100, 50)</bold> 'TextBox14.Text = Cells(i, 225).Text i = i + 1 Else: i = i + 1 MsgBox "Date" & Chr(10) & "emplacement libre " End If End If Next i End Sub
Mon problème est que, je veux changer la couleur du commandbutton sur lequel je viens de cliquer. Mais "Me.Controls..." ne fonctionne pas alors qu'il n'y avait aucun problème dans le programme du useform. Je devrais avoir le même problème pour textbox aussi...
Ma question est donc par quoi dois-je remplacer me.controls?
Je suis débutante sur VB, enfin en réalité j'y connais rien, je m'inspire juste de ce que je trouve sur le net. Cependant je n'arrive pas, cette fois-ci, à trouver la solution.
Merci d'avance pour votre aide et désolée pour la longueur de ma question.
A voir également:
- Commandbutton variable dans un module
- Pas de module ci - Forum TV & Vidéo
- Manque cam module - Forum TNT / Satellite / Réception
- Persistence module - Forum logiciel systeme
- Hkcmd module ✓ - Forum Virus
- Échec du chargement du module twitch - Forum jeux en ligne
2 réponses
Bonjour,
Votre increment ne marche pas puisque a est declare dans chaque procedure
Private Sub Butt14_Click()quel logiciel utiltisez-vous ???????
Votre increment ne marche pas puisque a est declare dans chaque procedure