Appel de variable
Bonjour,
Je cherche à appeler la variable ligneBrouillon dans la procédure d'un UF nommée Private Sub CmdEnre_Clic :
Public ligneBrouillon As Long
Sub ModeBrouillon()
ligneBrouillon = InputBox("Renseignez le numéro de la ligne d'entretien à modifier ?", "Mode brouillon")
'SIGNALETIQUE
UFsaisie.TxtDate = Range("B" & ligneBrouillon)
Affichage
End SubPrivate Sub CmdEnre_Click()
Dim ligne As Long
Dim i As Long
Dim ctrl As Control, ctrlerr As Control
Dim erreur As Boolean
With UFsaisie
Call ligneBrouillon
If TxtNom <> "" And TxtPrenom <> "" Then
ligne = Range("B2").CurrentRegion.Rows.Count + 2 'pour commencer en ligne 4
If ligneBrouillon = "" Then
InjectionDonnees
Else: InjectionDonneesBrouillon
End If
ThisWorkbook.Save
If LblObli.Visible = True Then
LblObli.Visible = False
End If
On Error Resume Next
Select Case MsgBox("Voulez vous imprimer le formulaire?", vbQuestion + vbYesNoCancel, "Impression du formulaire")
Case Is = vbYes
Unload UFsaisie
With Sheets("IMPRESSION EEA")
.PrintPreview
End With
remiseAzero
RemiseAzeroCompetences
UFsaisie.Show 0
Case Is = vbNo
remiseAzero
RemiseAzeroCompetences
Case Is = vbCancel
End Select
Else
LblObli.Visible = True
'End If
End If
End With
End SubMais j'ai ce message d'erreur, avez vous une idée du problème svp? "erreur de compilation procédure attenue, non une variable"
Merci de votre aide
bonjour,
remplace ton call lignebrouillon par call modebrouillon
Bonjour merci pour ta réponse, en effet c'est une erreur de ma part.
J'ai réussi à ne plus faire bugger en déclarant la variable public dans le code de l'UF:
Public ligneBrouillon As Long
'''''''''''''''''''''''''''''''''''''''''''BOUTON ENREGISTRER'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub CmdEnre_Click()
Dim ligne As Long
Dim i As Long
Dim ctrl As Control, ctrlerr As Control
Dim erreur As Boolean
If TxtNom <> "" And TxtPrenom <> "" Then
ligne = Range("B2").CurrentRegion.Rows.Count + 2 'pour commencer en ligne 4
If ligneBrouillon = "" Then
InjectionDonnees
Else: InjectionDonneesBrouillon
End If
ThisWorkbook.Save
[...]
End SubLa variable est définie par un inputbox qui se trouve dans un module:
Public Sub ModeBrouillon()
ligneBrouillon = Application.InputBox("Renseignez le numéro de la ligne d'entretien à modifier ?", "Mode brouillon")
'SIGNALETIQUE
UFsaisie.TxtDate = Range("B" & ligneBrouillon)
[...]Mais la ou je bloque maintenant c'est que ma variable est égal à VIDE dans une procédure qui est directement dans le code de l'UF:
Sub InjectionDonneesBrouillon()
'SIGNALETIQUE
Range("B" & ligneBrouillon) = TxtDate
Range("C" & ligneBrouillon) = FraCivilite.Tag
Range("D" & ligneBrouillon) = TxtNomJe ne comprends pas pourquoi la variable que je saisi dans l'inputbox ne soit pas gardée en mémoire dans une procédure de l'UF.