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   -
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é :


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.


2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Private Sub Butt14_Click()
quel logiciel utiltisez-vous ???????

Votre increment ne marche pas puisque a est declare dans chaque procedure
0
trollotin Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

J'ai VB6.3.

Si je ne le déclare pas dans chaque procédure. Ou es ce que je peux le faire?
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
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+
0
trollotin Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,

Excel ou pas excel, si excel lequel ???
0