Code d'attente dans macro
Bonjour,
Le code ci-dessous à pour but de contrôler pour la dernière ligne utilisée par la personne que la colonne 12 (L) est bien renseignée (la personne doit faire un choix dans une liste déroulante).
Une fois ce contrôle effectué, la macro "Majuscule" est lancée et ensuite une feuille "Saisie" est ouverte.
Le souci que j'ai est le suivant: l'absence de texte en colonne 12 (L) est bien détecté, mais la macro "Majuscule" et l'ouverture de la feuille "Saisie" se font sans attendre le remplissage de la cellule colonne 12 (L)....
Quel code puis-je utiliser pour éviter cela ? (débutant en VBA, merci de me répondre avec détails !)
Lenul
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("m12")) Is Nothing Then
Application.ScreenUpdating = False
Select Case Target.Column
Case 13
If Target.Offset(, -1).Value = Empty Then
Application.EnableEvents = False
MsgBox " Une saisie obligatoire n'a pas été respectée !"
Target.Value = Empty
Target.Offset(, -1).Select
End If
'Quel code doit figurer "ici" pour attendre la saisie obligatoire
'dans la colonne 12
Majuscule
Range("a11").Select
Sheets("Saisie").Visible = True
Sheets("Saisie").Select
Application.ScreenUpdating = True
End Select
End If
End Sub |
Pour Aalex et Gorfael....
Aalex:
Désolé avec ta proposition, quand je quitte la cellule de la dernière ligne utilisée il ne se passe rien.....
Gorfael:
Voici la présentation en détails:
Dans ce classeur il y a 2 feuilles : Prospects et Saisie, à l'ouverture du classeur la feuille Saisie est masquée.
Sur la feuille Prospects la plage de cellules A1:M10 est utilisée pour la présentation, les cellules A11, B11 jusqu'à M11 indiquent le titre de ce qui doit figurer dans ces colonnes (Nom, Adresse......etc, la première ligne qui peut être renseignée par l'utilisateur est la ligne 12.
L'information qui doit apparaître colonne L est INDISPENSABLE (l'utilisateur doit faire un choix dans une liste déroulante, c'est du texte).
Pour valider sa saisie l'utilisateur doit sélectionner la cellule M de la ligne qu'il vient de créer.
Je veux que lorsque l'utilisateur quitte la cellule L, cette macro contrôle que la cellule L de la dernière ligne soit bien renseignée.
Si OUI, la macro "Majuscule" est lancée (elle force les majuscules sur certaines cellules), ensuite la feuille saisie est rendue visible, fin de macro.
Si NON, la macro doit inviter l'utilisateur à renseigner la cellule L de la dernière ligne et tant que cette opération n'est pas exécutée, la macro ne doit pas progresser.
J'espère que j'ai été assez claire....
A bientôt de vous lire
Lenul