Exercices d'observation de formation du futur simple de l'indicatif (difficultés liées au radical), puis d'entraînement sur cette conjugaison
On peut créer sa propre liste de verbes à tester en listant 21 verbes à l'infinitif dans le fichier "verb20.txt" (inf1 [ENTREE] inf2 [ENTREE] -ne rien écrire d'autre-)
On peut aussi créer (plus laborieux) d'autres textes à mettre au futur à partir de "(docfutur).rtf " que vous pourrez écrire ou scanner :
utiliser la source "
http://www.vbfrance.com/codes/EXERCICES-TROUS-PARTIR-DOCUMENT-RTF-EXEMPLES-SAISIES-EXEMPLES_52633.aspx " :
observer le codage de "HARENIFS.TXT" puis
utiliser ("sais1mtrtf-txt.exo" à modifier en "sais1mtrtf-txt.exe" ) pour créer le fichier.txt à joindre (ajouter aux coordonnées saisies les renseignements nécessaires:nb tirets,infinitif,code modif radical), en respectant la forme des renseignements à y inclure(cf HARENIFS.TXT) et enfin en modifiant le suffixe "(docfutur).rtf " en "(docfutur).rfs "
Si -par hasard- quelqu'un l'utilise et trouve des erreurs ou des oublis, ==> commentaire, et je serais très heureux de modifier .
[NB: 1 - j'ai mis les verbes en -ayer au même rang que les autres en-yer: (y ==>i) [ierai, ieras...] (sauf envoyer, bien sûr)
2- je n'ai compté comme impersonnels/défectifs que falloir, pleuvoir, seoir et messeoir] ...Je n'ai pas ajouté neiger, venter......
Si ça vous gêne vraiment, dites-le (ou complétez dans" sub afficher":defect = "012345": If inf = "falloir" Or inf = "pleuvoir" Then defect = "2" Else If inf = "seoir" Or inf = "messeoir" Then defect = "25" - ou faire un array et test de liste)]
(les cf.rtf, cf0.rtf, etc sont laissés si vous voulez les arranger à votre sauce: pour la série "cf-.", faire une copie d'écran et cadrer l'image.jpg obtenue (à enregistrer avec même radical), car c'est l'image qui sera affichée)
(pour la série cfs-:[ cfs1.rtf, cfs2.rtf, etc...] c'est le .rtf qui sera affiché en aide: vous pouvez les arranger à condition de réenregistrer sous le même nom)
le fichier "formfuturx.exo" doit être modifié en "formfuturx.exe" -(en plus des .dll ,etc de base de vb6, il faut les .dll ,etc de richtextbox:riched20.dll,riched32.dll,etc dans system32 ou syswow64, semble-t-il)
Pour les vbsixtes...
"doublons" n'est qu'un petit outil pour supprimer les doubles de mes listes (ouvrir et changer si néc le nom des fichiers.txt)
- Ne pas lancer "exofs2.vbp" car j'ai modifié la fermeture de "exofs2.frm" pour l'inclure dans l'ensemble "formfuturx.vbp"
Toutes mes excuses auprès des administrateurs de vbfrance, particulièrement à Nhenry, car j'ai eu la flegme de redisposer l'ensemble mon bricolage (instructions multiples, pas assez de commentaires,etc...) [particulièrement exofs2 que j'avais fait dans les années 2000 et auquel je n'ai pas retouché] -seuls quelques petits éléments de procédures ont été mieux disposés-
Source / Exemple :
(quelques choix au départ:)
csne = Array("b", "c", "d", "f", "g", "j", "k", "l", "m", "n", "p", "r", "s", "t", "v", "z", "br", "cr", "ch", "qu", "vr") '0 à 15/16-20 (pas "x" ...voir si autres?
eter = Array("acheter", "corseter", "crocheter", "fileter", "fureter", "haleter") '0-5
eler = Array("celer", "déceler", "receler", "ciseler", "démanteler", "écarteler", "dégeler", "décongeler", "recongeler", "congeler", "surgeler", "geler", "marteler", "modeler", "peler") ' (0-14)
elter = Array("acheter", "corseter", "crocheter", "fileter", "fureter", "haleter", "celer", "déceler", "receler", "ciseler", "démanteler", "écarteler", "dégeler", "décongeler", "recongeler", "congeler", "surgeler", "geler", "marteler", "modeler", "peler") ' (0-20) , ….)
prsuj = Array(" je (ou j') ", " tu ", "il,elle,on", " nous ", " vous ", "ils, elles")
prse = Array("me ", "te ", "se ", "nous ", "vous ", "se ")
prse1 = Array("m'", "t'", "s'", "nous ", "vous ", "s'")
term = Array("ai", "as", "a", "ons", "ez", "ont")
titfr = Array("infinitif complet + ai,as,a,ons,ez,ont", "inf-e + ai,as,a,ons,ez,ont (rendr-) [dir-]...", "verbes en -yer", "E +consonne + er : [achEter ; pEler ; appEler ; jEter ; sEmer ; pEser]", _
"être ; composés de _faire", "avoir ; savoir ", " aller ", "composés de _tenir et _venir", "composés de _courir et de _quérir ; mourir", "verbes en -oir [prévoir et pourvoir ont l'infinitif complet]", _
"composés de _cueillir")
testvf0 = Array("nouer", "s'acheter", "jeter", "peler", "s'appeler", "lancer", "manger", "se souvenir", "pouvoir", "être", "savoir", "se satisfaire", "avoir", "voir", "envoyer", "s'appuyer", "vouloir", "crier", "jaunir", "distribuer", "bouillir") '0-20
(partie "tri des verbes"):
Private Sub formationf() '************ tri formation du radical des verbes au futur simple***************
inf1 = Trim(inf): vpro = 0
If Left(inf, 2) = "s'" Then inf1 = Mid(inf, 3): vpro = 2 Else If Left(inf, 3) = "se " Then inf1 = Mid(inf, 4): vpro = 1 'cas des verbes pronominaux
If Right(inf1, 2) = "er" Then
If inf1 = "aller" Then
rad = "ir": codf = "f20(2)": r = "ir": 'aller
ElseIf Right(inf1, 3) = "yer" Then If Right(inf1, 7) = "envoyer" Then rad = Left(inf1, Len(inf1) - 4) + "err": codf = "f10(0)" Else rad = Left(inf1, Len(inf1) - 3) + "ier": codf = "f10(1)": ''envoyer ou autres-yer (je n'ai pas gardé la possibilité -ayerai)
Else
For xx = 0 To 15
If Right(inf1, 4) = "e" & csne(xx) & "er" Then
If csne(xx) = "l" Or csne(xx) = "t" Then 'tester d'abord les -eler; -eter
For yy = 0 To 20
If inf1 = elter(yy) Then rad = Left(inf1, Len(inf1) - 4) + "è" + Mid(inf1, Len(inf1) - 2, 1) + "er": codf = "f110(0)": yy = 20: 'voir si c'est ds la liste des _èler-/_èter-
Next yy
If rad = "" Then rad = Left(inf1, Len(inf1) - 2) & Mid(inf1, Len(inf1) - 2, 1) & "er": codf = "f110(2)"
Else
rad = Left(inf1, Len(inf1) - 4) + "è" + Mid(inf1, Len(inf1) - 2, 1) + "er": codf = "f11(1)": 'sinon _elle-/_ette-
End If
xx = 15
End If
Next xx
For xx = 16 To 20 'e+vr+er,etc (2consonnes)
If Right(inf1, 5) = "e" & csne(xx) & "er" Then rad = Left(inf1, Len(inf1) - 5) + "è" & csne(xx) & "er": codf = "f11(1)": xx = 20
Next xx
If rad = "" Then rad = inf1: codf = "f0(0)" 'sinon, cas normal:inf complet
End If
ElseIf Right(inf1, 2) = "re" Then
If inf1 = "être" Then rad = "ser": codf = "f20(0)": r = "ir": 'être
If Right(inf1, 5) = "faire" Then rad = Left(inf1, Len(inf1) - 4) + "er": codf = "f20(0)": r = "ir": ' et -faire
If rad = "" Then rad = Left(inf1, Len(inf1) - 1): codf = "f0(1)" 'autres verbes terminés par-e
ElseIf Right(inf1, 2) = "ir" Then
If Right(inf1, 3) = "oir" Then
If Right(inf1, 5) = "evoir" Or Right(inf1, 5) = "uvoir" Then rad = Left(inf1, Len(inf1) - 3) + "r": codf = "f22(1)" '-evoir; -uvoir, sauf pouvoir,revoir,entrevoir donc placer test pouvoir,revoir,entrevoir après pour son cas -rr-
If inf1 = "pouvoir" Then rad = Left(inf1, Len(inf1) - 4) + "rr": codf = "f22(3)" 'pouvoir
If inf1 = "voir" Or inf1 = "se voir" Or inf1 = "revoir" Or inf1 = "se revoir" Or inf1 = "entrevoir" Then rad = Left(inf1, Len(inf1) - 3) + "err": codf = "f22(3)": r = "r": 'il n'y a pas prévoir, ni pourvoir (inf complet)
If Right(inf1, 5) = "avoir" Then rad = Left(inf1, Len(inf1) - 4) + "ur": codf = "f20(1)" 'avoir,savoir
If Right(inf1, 6) = "valoir" Then rad = Left(inf1, Len(inf1) - 4) + "udr": codf = "f22(2)" ',valoir
If Right(inf1, 7) = "falloir" Or Right(inf1, 7) = "vouloir" Then rad = Left(inf1, Len(inf1) - 5) + "udr": codf = "f22(2)" 'vouloir,falloir
If Right(inf1, 7) = "asseoir" Or inf1 = "seoir" Or inf1 = "messeoir" Then rad = Left(inf1, Len(inf1) - 4) + "iér": codf = "f22(4)"
If rad = "" Then rad = inf1: codf = "f22(0)" '(choir, pourvoir,prévoir)
Else
If Right(inf1, 6) = "courir" Or Right(inf1, 6) = "mourir" Then rad = Left(inf1, Len(inf1) - 2) + "r": codf = "f2(1)" 'courir, mourir,
If Right(inf1, 6) = "quérir" Then rad = Left(inf1, Len(inf1) - 4) + "err": codf = "f2(1)" 'acquérir,requérir
If Right(inf1, 5) = "tenir" Or Right(inf1, 5) = "venir" Then rad = Left(inf1, Len(inf1) - 4) + "iendr": codf = "f20(3)": r = "tv": '-tenir,-venir
If Right(inf1, 8) = "cueillir" Then rad = Left(inf1, Len(inf1) - 2) + "er": codf = "f2(3)": r = "ir": 'trsm = "4" & inf1 '-cueillir
If rad = "" Then rad = inf1: codf = "f0(0)" 'sinon, infinitif complet
End If
End If
End Sub
Conclusion :
Et bonnes vacances.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.