Programme pour déterminer le type de verbe

- - Dernière réponse : ThauTheme
Messages postés
4608
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
2 décembre 2019
- 2 déc. 2019 à 10:18
Bonjour,
Svp j'aimerais savoir comment écrire un programme qui détermine le groupe d'un verbe entré par l'utilisateur (en supposant qu'il entre ses verbes en français)



Configuration: Macintosh / Safari 10.1.2
Afficher la suite 

1 réponse

Messages postés
4608
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
2 décembre 2019
118
0
Merci
Bonjour EMI, bonjour le forum,

J'ai trouvé sur le net une liste des verbes du 3ème groupe que j'ai mise dans un onglet (Groupe 3, que tu pourras masquer si tu le désires). J'ai utilisé l'événementielle Change qui agit au changement de la cellule A1 dans l'onglet Feuil1 avec le code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim G3 As Worksheet 'déclare la variable G3 (Groupe 3)
Dim TV As Variant 'déclare la variable TV (Tableau des Verbes)
Dim I As Integer 'déclare la variable I (Incrément)
Dim TEST As Boolean 'déclare la variable TEST
Dim MSG As String 'déclare la variable MSG (MeSsaGe)

If Target.Address <> "$A$1" Then Exit Sub 'si le changement a lieu ailleurs qu'en A1, sort de la procédure
If Target.Value = "" Then Exit Sub 'si A1 est effacée. sort de la procédure
Set G3 = Worksheets("Groupe 3") 'définit l'onglet G3
'condition : si les deux derniers caractères de la valeur de A1 (convertis en majuscule) valent "ER", message, sort de la procédure
If UCase(Right(Target.Value, 2)) = "ER" Then MsgBox "Ce verbe est du 1er groupe !": Exit Sub
TV = G3.Range("A1").CurrentRegion 'définit le tableau des verbers TV
For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des verbes TV
    'si la valeur de A1 (convertie en majuscule) est égale à la valeur de la donnée ligne I colonne 1 de TV (convertie aussi) définit la variable TEST, sort de la boucle
    If UCase(TV(I, 1)) = UCase(Target.Value) Then TEST = True: Exit For
Next I 'prochaine ligne de la boucle
MSG = IIf(TEST = True, "Verbe du 3ème groupe !", "Verbe du 2ème groupe !") 'définit le message MSG en fonction de la variable MSG
MsgBox MSG 'affiche le message MSG
Range("A1").Select 'sélectionne la cellule A1
End Sub


L'utilisateur tape un verbe dans la cellule A1 de l'onglet Feuil1 et un message lui dit de quel groupe est ce verbe...

Le fichier :
https://www.cjoint.com/c/ILcjlClFy5c
Commenter la réponse de ThauTheme