Bonjour à toutes et à tous,
J'ai une macro me permettant de créer une fiche d'état civil, par le biais d'inputbox qui se suivent. Chaque saisie provoque une action (création d'une feuille par exemple) en plus de l'action visible d'inscrire la donnée dans une cellule précise.
Si l'utilisateur se trompe ou désire revenir sur une saisie, j'ai pensé créer une userform qui demande à quel endroit il désire reprendre la saisie. La réponse est sous forme de bouton, qui lance une macro identique à la macro globale, sans la partie déjà saisie :
MACRO GLOBALE :
PRENOM, NOM etc sont des macros spécifiques.
Si l'utilisateur désire recommencer à partir du NOM par exemple, la macro correspondante (lancée à partir d'une userform) réécris l'ensemble du programme :
Ce qui est long et fastidieux.
LA QUESTION EST : est-il possible de créer un marqueur, une balise sur la macro globale permettant à la macro de relance de simplement relancer la globale au point voulu (sans avoir à réécrire l'ensemble, donc) ???
Merci pour vos propositions. Question annexe : comment cloture-t-on une discussion sur ce forum ?
J'ai une macro me permettant de créer une fiche d'état civil, par le biais d'inputbox qui se suivent. Chaque saisie provoque une action (création d'une feuille par exemple) en plus de l'action visible d'inscrire la donnée dans une cellule précise.
Si l'utilisateur se trompe ou désire revenir sur une saisie, j'ai pensé créer une userform qui demande à quel endroit il désire reprendre la saisie. La réponse est sous forme de bouton, qui lance une macro identique à la macro globale, sans la partie déjà saisie :
MACRO GLOBALE :
PHP:
Sub CreerAgent()
'
' NouvelAgent Macro
' Macro enregistrée le 29/02/2012 par TELLIER
PRENOM
If Range("Prénom") = "" Then
Exit Sub
End If
NOM
Dim NomAgent As String
NomAgent = [C4]
If Range("C4") = "" Then
Exit Sub
End If
DdNAgent
If Range("C8") = "" Then
Exit Sub
End If
ADRESSE
If Range("C10") = "" Then
Exit Sub
End If
If Range("C16") = "" Then
Exit Sub
End If
If Range("C18") = "" Then
Exit Sub
End If
CopiRef
TriAlphaNomAgent
TriAlphaFeuille
PRENOM, NOM etc sont des macros spécifiques.
Si l'utilisateur désire recommencer à partir du NOM par exemple, la macro correspondante (lancée à partir d'une userform) réécris l'ensemble du programme :
PHP:
Private Sub auNOM_Click()
'Lance la macro à partir du NOM
Unload Reprise
Dim PrenomAgent As String
If [Prénom] = "" Then
PRENOM
Else
End If
PrenomAgent = [A10000]
NOM
Dim NomAgent As String
NomAgent = [C4]
DdNAgent
ADRESSE
CopiRef
TriAlphaNomAgent
TriAlphaFeuille
'Revenir sur la feuille de l'agent
Sheets(NomAgent).Select
'Ouvrir un userform pour la saisie des données administratives
FenSaisieAdm
'Précise qu'il reste le cadre d'emploi à sélectionner
MsgBox ("N'oubliez pas de choisir le cadre d'emploi, en cellule G8")
Range("Prénom").Clear
Range("G8:H8").Select
End Sub
Ce qui est long et fastidieux.
LA QUESTION EST : est-il possible de créer un marqueur, une balise sur la macro globale permettant à la macro de relance de simplement relancer la globale au point voulu (sans avoir à réécrire l'ensemble, donc) ???
Merci pour vos propositions. Question annexe : comment cloture-t-on une discussion sur ce forum ?