Problème de lancement d'une procédure
Bonjour à tous,
Je rencontre un petit souci entre 2 formulaires : je n'arrive pas à déclencher une procédure appartenant à mon formulaire Consultation depuis mon deuxième formulaire.
J'ai essayé avec Call, Application.Run et j'ai même essayé en changeant la déclaration de la procédure en Public.
Voici le code où je veux que cette procédure se déclenche (ligne de commentaire) :
Private Sub CommandButton1_Click()
Reponse = MsgBox("Etes-vous vraiment sûr de vouloir déplacer" & vbNewLine & "cette ligne de la base de gestion vers les partants ?", vbYesNo + vbCritical, "Confirmation de suppression")
Select Case Reponse
Case vbYes
Application.ScreenUpdating = False
Range(Cells(ActiveCell.Row, ActiveCell.Column - 4), Cells(ActiveCell.Row, ActiveCell.Column + 63)).Select
Selection.Copy
Sheets("Partants 2012").Select
Range("B65000").End(xlUp)(2).Select
ActiveSheet.Paste
Range("F3").Select
ActiveWindow.ScrollRow = ActiveCell.Row
Sheets("Base gestion MDR").Select
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names.Add Name:="Noms", RefersToR1C1:= _
"=OFFSET('Base gestion MDR'!R9C6,,,COUNTA('Base gestion MDR'!C6)-8)"
Unload Me
Calculate
'ici comment déclencher la procédure Recherche_Change de mon formulaire Consultation (alimentation de ma ListBox après mise à jour de la feuille)
Application.ScreenUpdating = True
Case vbNo
MsgBox "Vous avez annulez le transfert de la ligne." & vbNewLine & "Cette action pourra s'effectuer par la suite" & vbNewLine & "depuis l'interface principale.", vbOKOnly + vbInformation, "Information"
Consultation.CommandButton9.Visible = True
Unload Me
Consultation.ListBox1.ListIndex = Consultation.ListBox1.ListIndex + 1
End Select
End SubEt voici la procédure que je veux appeler pour mettre à jour ma ListBox :
'_______________________________________________________'
'A chaque changement dans la zone de recherche intuitive
'(mise à jour des zones de texte)
'_______________________________________________________'
Private Sub Recherche_Change()
Dim Cel As Range 'déclare la variable Cel (cellule)
Me.ListBox1.Clear 'vide la ListBox1
For Each Cel In Range(Sheets("Base gestion MDR").[F9], Sheets("Base gestion MDR").[F65000].End(xlUp))
If UCase(Cel) Like UCase(Me.Recherche) & "*" Then
Me.ListBox1.AddItem Cel 'on ajoute le nom
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cel.Offset(0, 1) 'on ajoute le prénom
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cel.Row 'on note le numéro de ligne dans la colonne masquée
End If
Next Cel
Me.Label62.Caption = ListBox1.ListCount 'mise à jour du nombre d'occurences dans la liste
End SubMerci de bien vouloir éclairer ma lanterne.
Bonjour,
Que ce soit avec la réponse Oui, ou la réponse Non tu détruit l'Userform AVANT de terminer le code, il ne sera donc pas exécuté.
Je n'ai pas tout les procédures que tu emploi et je ne comprend pas bien.
Si possible, poste ton classeur
A+
Bonjour lermite, le forum,
Merci pour ta réponse. J'ai trouvé ce qui clochait : en fait mon code fonctionne très bien sauf que dans ce dernier je faisais référence à des contrôles que j'ai renommé pour une meilleure lisibilité.
Erreur de débutant : encore mille excuses pour cette question dans le vide.
Merci et bonne soirée à tous les Exceliens.
Edit : j'avais juste oublié de marquer ce fil Résolu. Volià qui est chose faite. Bonne soirée.