Commandbutton variable dans un module
trollotin
Messages postés
5
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 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
- Igfxtray module ✓ - Forum Virus
- Manque cam module - Forum TNT / Satellite / Réception
- Échec du chargement du module twitch - Forum jeux en ligne
- Persistence module - Forum logiciel systeme
- Hkcmd module ✓ - Forum Virus
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