Bonjour,
Je débute et j'ai un petit soucis avec le traitement de la réponse une inputbox sous Excel.
Chaque ligne Excel correspond à des champs d'un dossier.
je demande à l'utilisateur un numéro correspondant à un dossier qui s'affichera par la suite dans un userform.
J'ai identifié plusieurs cas que je dois traité en fonction de la réponse dans l'inputbox :
1) l'utilisateur demande un dossier qui est trouvé : fermeture de l'inputbox et affichage du userform
2) l'utilisateur demande un dossier qui n'est pas trouvé : messagebox indiquant que le dossier est manquant avec un Retry et un Cancel
Si Retry : de nouveau l'inputBox
Si Cancel : on quitte la procédure et on revient à un userform de présentation
3) L'utilisateur a demandé la recherche d'un dossier par erreur. Un clic sur le Cancel provoque la sortie de la procedure et on revient à un userform de présentation
WARNING : Ne rigolez pas avec mon code, je DEBUTE !!!
J'ai donc fais cela :
Sub Recherche()
Dim DossierTrouve As Range
Dim Ligne As Integer
Dim reponse As String
Sheets("Feuil1").Select
reponse = InputBox("Numero du dossier ?", "Recherche d'un dossier de panne")
Set DossierTrouve = Range("Feuil1!A:A").Find(reponse)
' touche Cancel
If reponse = False Then
Unload SuiviDossier
Load General
General.Show
Exit Sub
End If
'Trouve ou pas le dossier
If DossierTrouve Is Nothing Or reponse = 0 Then
Select Case MsgBox("Dossier non trouvé !", vbRetryCancel + vbExclamation, "Résultat de la recherche")
Case vbCancel
Unload SuviDossier
Load General
General.Show
Exit Sub
End Select
Unload SuviDossier
Load SuiviDossier
SuiviDossier.Show
Exit Sub
Else
Ligne = DossierTrouve.Row
' MsgBox ("Trouvé ligne :" & Ligne)
DossierTrouve.Select
End If
Suite de mon code pour afficher un userform et remplir les champs.
End Sub
Le soucis c'est que mon code ne fonctionne pas avec le Cancel et qu'une fois sur deux il plante sur les load/unload des userforms.
Pouvez-vous m'aider, j'ai un peu de mal malgrés toute les lectures faites dans ce forum et d'autres.
D'avance merci
Je débute et j'ai un petit soucis avec le traitement de la réponse une inputbox sous Excel.
Chaque ligne Excel correspond à des champs d'un dossier.
je demande à l'utilisateur un numéro correspondant à un dossier qui s'affichera par la suite dans un userform.
J'ai identifié plusieurs cas que je dois traité en fonction de la réponse dans l'inputbox :
1) l'utilisateur demande un dossier qui est trouvé : fermeture de l'inputbox et affichage du userform
2) l'utilisateur demande un dossier qui n'est pas trouvé : messagebox indiquant que le dossier est manquant avec un Retry et un Cancel
Si Retry : de nouveau l'inputBox
Si Cancel : on quitte la procédure et on revient à un userform de présentation
3) L'utilisateur a demandé la recherche d'un dossier par erreur. Un clic sur le Cancel provoque la sortie de la procedure et on revient à un userform de présentation
WARNING : Ne rigolez pas avec mon code, je DEBUTE !!!
J'ai donc fais cela :
Sub Recherche()
Dim DossierTrouve As Range
Dim Ligne As Integer
Dim reponse As String
Sheets("Feuil1").Select
reponse = InputBox("Numero du dossier ?", "Recherche d'un dossier de panne")
Set DossierTrouve = Range("Feuil1!A:A").Find(reponse)
' touche Cancel
If reponse = False Then
Unload SuiviDossier
Load General
General.Show
Exit Sub
End If
'Trouve ou pas le dossier
If DossierTrouve Is Nothing Or reponse = 0 Then
Select Case MsgBox("Dossier non trouvé !", vbRetryCancel + vbExclamation, "Résultat de la recherche")
Case vbCancel
Unload SuviDossier
Load General
General.Show
Exit Sub
End Select
Unload SuviDossier
Load SuiviDossier
SuiviDossier.Show
Exit Sub
Else
Ligne = DossierTrouve.Row
' MsgBox ("Trouvé ligne :" & Ligne)
DossierTrouve.Select
End If
Suite de mon code pour afficher un userform et remplir les champs.
End Sub
Le soucis c'est que mon code ne fonctionne pas avec le Cancel et qu'une fois sur deux il plante sur les load/unload des userforms.
Pouvez-vous m'aider, j'ai un peu de mal malgrés toute les lectures faites dans ce forum et d'autres.
D'avance merci
Dernière édition: