Laisse moi rire
XLDnaute Occasionnel
Salut le forum
Voila, afin d'eviter d'utiliser deux fois le même code, voici ce que j'ai fait :
Donc dans un module, j'ai déclaré une variable .
Public NDeContrat
J'ai ensuite dans un autre module le code en question.
Sub Contradater()
Dim numC As Integer, C
Dim myr As Range
Dim isect As Range
Select Case NDeContrat
Case 1: USF_FicheDeRenseignements
Case 2: résultat
Case Else
End Select
Set myr = Range(Cells(8, 1), Cells(373, 1))
Set isect = Intersect(myr, Cells(ActiveCell.Row, 1))
If isect Is Nothing Then
Exit Sub
Else
If isect Like '20*' Or isect Like '19*' Then
MsgBox 'Contrat déjà signé', vbInformation, 'INFORMATION'
Else
Application.ScreenUpdating = False
For Each C In myr.Cells
If C.Value <> '' Then
If Mid(C, 1, 4) = Format(Now, 'yyyy') Then
If CInt(Right(C, 2)) > numC Then
numC = CInt(Right(C, 2))
End If
End If
End If
Next
numC = numC + 1
isect = Format(Now, 'yyyy') & _
'-' & Format(numC, '00')
'résultat.lblNDeContrat = isect
NDeContrat.lblNDeContrat = isect
End If
End If
Application.ScreenUpdating = True
End Sub
Et dans les userformes en questions, et dans les boutons qui me servent a envoyer les données j'ai :
UserForm 1 : USF_FicheDeRenseignements
NDeContrat = 1
UserForm 2 : Resultat
NDeContrat = 2
Donc, je pensais que lorsque j'appuié sur les boutons de l'un ou de l'autre cela prenais la valeur et que cela me remplacait la variable NDeContrat de la fonction Contradater par le nom de L'UserForm en question;
Exemlple si j'appuyé sur le bouton de l'userform Resultat, la variable =2, le select case 2 = résultat
Par conséquence la variable NDeContrat = Resultat
Et bien non, j'ai une erreur :
Utilisation incorrect de la propriété et cela me met en bleu :
USF_FicheDeRenseignements
Comment je pourrais faire fonctionner cette fonction avec deux UserForm différant?
Je vous remercie par avance, G'Claire
Voila, afin d'eviter d'utiliser deux fois le même code, voici ce que j'ai fait :
Donc dans un module, j'ai déclaré une variable .
Public NDeContrat
J'ai ensuite dans un autre module le code en question.
Sub Contradater()
Dim numC As Integer, C
Dim myr As Range
Dim isect As Range
Select Case NDeContrat
Case 1: USF_FicheDeRenseignements
Case 2: résultat
Case Else
End Select
Set myr = Range(Cells(8, 1), Cells(373, 1))
Set isect = Intersect(myr, Cells(ActiveCell.Row, 1))
If isect Is Nothing Then
Exit Sub
Else
If isect Like '20*' Or isect Like '19*' Then
MsgBox 'Contrat déjà signé', vbInformation, 'INFORMATION'
Else
Application.ScreenUpdating = False
For Each C In myr.Cells
If C.Value <> '' Then
If Mid(C, 1, 4) = Format(Now, 'yyyy') Then
If CInt(Right(C, 2)) > numC Then
numC = CInt(Right(C, 2))
End If
End If
End If
Next
numC = numC + 1
isect = Format(Now, 'yyyy') & _
'-' & Format(numC, '00')
'résultat.lblNDeContrat = isect
NDeContrat.lblNDeContrat = isect
End If
End If
Application.ScreenUpdating = True
End Sub
Et dans les userformes en questions, et dans les boutons qui me servent a envoyer les données j'ai :
UserForm 1 : USF_FicheDeRenseignements
NDeContrat = 1
UserForm 2 : Resultat
NDeContrat = 2
Donc, je pensais que lorsque j'appuié sur les boutons de l'un ou de l'autre cela prenais la valeur et que cela me remplacait la variable NDeContrat de la fonction Contradater par le nom de L'UserForm en question;
Exemlple si j'appuyé sur le bouton de l'userform Resultat, la variable =2, le select case 2 = résultat
Par conséquence la variable NDeContrat = Resultat
Et bien non, j'ai une erreur :
Utilisation incorrect de la propriété et cela me met en bleu :
USF_FicheDeRenseignements
Comment je pourrais faire fonctionner cette fonction avec deux UserForm différant?
Je vous remercie par avance, G'Claire