Re : Recherche macro ou fonction
Bonjour PierreJean, Bonjour JP14,
Voici la dernière macro que l'on me propose. Apparemment tout fonctionne sauf que je suis obligé de refaire toute la saisie de la colonne E. Auriez-vous une idée pour éviter cet inconvénient ?
Merci encore,
Raimana
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 8 Or Target.Count > 1 Then Exit Sub
'le 5 c'est pour la colonne où tu saisis donc colonne E pour la classe
'le >1 c'est pour empêcher une saisie multiple
If Target.Value = "" Then Range("F" & Target.Row).Value = ""
'Modif : si tu vides la cellule de la colonne E, cela vide la cellule correspondante de F
Application.EnableEvents = False 'pour que cela ne "scintille" plus
If IsNumeric(Target) = False Then Target.Value = UCase(Target.Value)
'Modif : les saisies dans la feuille ne sont plus sensibles à la casse
' tout passe en majuscule
Select Case Left(Target.Value, 2)
'Modif : ne considère que les 2 caractères de gauche de la saisie
Case "PR" 'pour préscolaire
Range("F" & Target.Row).Value = "Préscolaire"
Case "SP", "SM", "SG", "ST"
'ST pour STP, cela marche pour SP/SM bien sûr
Range("F" & Target.Row).Value = "Mat"
'le résultat est sur la même ligne que la saisie, mais en colonne F
Case "CP", "CE", "CM", "AD", "PE", "CJ"
'AD pour adapt, PE pour perf, CJ pour CJA
Range("F" & Target.Row).Value = "Prim"
Case "6", "5", "4", "3", "6°", "5°", "4°", "3°", "CA"
'CA pour CAP
Range("F" & Target.Row).Value = "Collège"
Case "3", "2", "1", "TE", "3°", "2°", "1°", "BE", "BP"
'BE pour BEP, BT pour BTS
'pour prendre en compte un 2è caractère si c'est ° après un chiffre au collège et lycée
Range("F" & Target.Row).Value = "Lycée"
Case "UN" 'pour université
Range("F" & Target.Row).Value = "Université"
Case "HA" 'pour handicapé
Range("F" & Target.Row).Value = "Handicapé"
End Select
Application.EnableEvents = True
End Sub