Commandbutton variable dans un module
trollotin
Messages postés
5
Date d'inscription
lundi 19 janvier 2015
Statut
Membre
Dernière intervention
23 janvier 2015
-
Modifié par crapoulou le 19/01/2015 à 22:54
f894009 Messages postés 17277 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 31 juillet 2025 -
f894009 Messages postés 17277 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 31 juillet 2025 -
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
f894009
Messages postés
17277
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
31 juillet 2025
1 715
20 janv. 2015 à 11:21
20 janv. 2015 à 11:21
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
trollotin
Messages postés
5
Date d'inscription
lundi 19 janvier 2015
Statut
Membre
Dernière intervention
23 janvier 2015
20 janv. 2015 à 18:30
20 janv. 2015 à 18:30
Bonjour,
J'ai VB6.3.
Si je ne le déclare pas dans chaque procédure. Ou es ce que je peux le faire?
J'ai VB6.3.
Si je ne le déclare pas dans chaque procédure. Ou es ce que je peux le faire?
f894009
Messages postés
17277
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
31 juillet 2025
1 715
20 janv. 2015 à 18:53
20 janv. 2015 à 18:53
Re,
VB6.3 ?????? mais vous ecrivez et lisez des cellules de feuille excel !!!!!!!
il faut declarer cette variable Public pour quelle soit vue dans toutes les procedures
A+
VB6.3 ?????? mais vous ecrivez et lisez des cellules de feuille excel !!!!!!!
il faut declarer cette variable Public pour quelle soit vue dans toutes les procedures
A+
trollotin
Messages postés
5
Date d'inscription
lundi 19 janvier 2015
Statut
Membre
Dernière intervention
23 janvier 2015
20 janv. 2015 à 20:35
20 janv. 2015 à 20:35
Non, je suis allée dans "à propos" sur visual basic...mais je suppose que ce n'était pas ce que vous demandiez.
Désolée si j'ai mal compris votre question.
Et merci de votre aide.
Désolée si j'ai mal compris votre question.
Et merci de votre aide.
f894009
Messages postés
17277
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
31 juillet 2025
1 715
21 janv. 2015 à 07:32
21 janv. 2015 à 07:32
Re,
Excel ou pas excel, si excel lequel ???
Excel ou pas excel, si excel lequel ???