Apprentissage de la conjugaison du présent de l'indicatif (je,tu,il)

Soyez le premier à donner votre avis sur cette source.

Vue 5 175 fois - Téléchargée 1 511 fois

Description

Entraînement à la la conjugaison du présent de l'indicatif (3 personnes du singulier)
A- Terminaisons: 1er tri: (e/es/e) ou autres? (exos choix:5-6)(être,avoir,aller exclus) sélection(partielle) rapide pour habituer à distinguer d'une part, les verbes en (e/es/e) et d'autre part, les autres à base (s/s/t) après élimination de (x/x/t) et (ds/ds/d)
cheminement de choix, puis petit texte .

B-(exos choix: 0 et 1) Exercices d'observation de formation du présent de l'indicatif (difficultés liées au radical et classification des terminaisons), puis d'entraînement sur cette conjugaison.
L'utilisateur choisit un verbe dans une liste ou tape l'infinitif du verbe voulu (pour orthographe, vérification "présence dans la liste?" pour exos 0 et 1).
L'utilisateur s'entraîne à cheminer dans un menu à tiroirs de formation du radical
particuliers(être,avoir,aller) et -oir
puis, pour le reste, classement d'après lettres supprimées au radical:
- er (inf-2 lettres); modifications pour -yer; -(é +consonne+er) et -(e+consonne+er avec cas eler/eter)
- moins une lettre: 2e gr et fuir,voir...
-moins 2 lettres (courir/voyelle+re/cas de clore et plaire/cas particuliers avec consonnes+re ou ir:vaincre-vêtir/rompre/cueillir,offrir,assaillir)
- moins 3 lettres:croître/aître/autres(mir,tir,vir, -dre, autres -tre,-vre)
-moins 4 lettres (ou classé avec -oir):pleuvoir
-moins 5 lettres: bouillir
puis on sélectionne la terminaison en distinguant d'abord les e/es/e et les particuliers (être..)
et en aboutissant aux verbes en( s/s/t )après élimination de (x/x/t )et (ds/ds/d) et cas particuliers:vaincre,vêtir,mettre et battre qui ne rajoutent pas de "t"
la sélection de la terminaison peut se faire -au choix- par menu à tiroirs ou par clic sur étiquettes à tiroirs.
==>et affichage du radical, puis de la terminaison au terme du cheminement de choix pour les 3 personnes du singulier.
    • vérif des défectifs pour ces exos 0 et 1 seulement; *** pour les autres exos: en tenir compte dans les listes réduites : pas de verbes impersonnels/défectifs aux 3 p du sing!


C- (exos choix:2-3-4)S'entraîner à conjuguer (écrire) des formes diverses au présent (Le cheminement précédent est repris en cas d'erreur )
choisir une des 2 listes ou laisser faire un choix aléatoire sur une liste de 380 verbes où sont surtout listés des verbes "à difficultés".

D- (exos choix 7)textes divers à mettre au présent (divers thèmes: remplacer "faire" par verbe plus précis; corriger les erreurs de temps (correct==>:présent); diverses valeurs du présent [verbes choisis pour faire apparaître les difficultés de formation, les confusions .. pas pour la beauté littéraire!!!)
- idem: le cheminement de formation n'est repris qu'en cas d'erreur.

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) [ie, ies...]
2-Les impersonnels/défectifs sont listés avc leur codage "de défection" dans le fichier "impersdfcti.txt" 'impersonnels et défectifs(voir ce fichier pour modifier/compléter si erreur/oubli)

' bien laisser tous les fichiers.TXT, .RTP ou .JPG présents dans le même dossier que "present2.exo"(à changer en "present2.exe")
'Ne pas modifier les documents.rtp (en réalité, documents.RTF, rappelons-le): les coordonnées des mots changeraient... et vous auriez des résultats bizarres!
'avoir (dans w\system32 + dans w\syswow64 pour W7) , outre les .dll, .oca, ocx nécessaires à VB6, les composants du projet: richtx32.ocx ;COMDLG32.OCX;MSCOMCTL.OCX

'----------------------------------------------------------------------------------------
REMARQUES 1) Je n'ai pas assez insisté sur la nécessité de lire (ou d'inventer) d'abord une phrase au présent avec le verbe à conjuguer!Le sens d'abord!
2) si vous voulez y placer vos textes ou listes (plus adaptés à une progression ou à un niveau en cours):

(exos 2-3-4): On peut ,selon le but recherché ou le niveau, 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-)
(exo 5):On peut créer divers exercices en modifiant le fichier.txt "CJVERPR.TXT" qui alimente cet exo (bien sûr, n'y placer ni être, ni avoir, ni aller, ni faillir..) (et respecter le codage enfantin -il suffit de s'y pencher)
(exo 6:)Le texte a été créé à partir d'un document créé avec open office et amené au zoom convenable (à vue d'oeil), puis touche "impression écran" , récupération par "coller presse-papiers" sur paint (ou autre log.dessin simple) et sauvegarde sous."TESPR1.JPG" ; le fichier-TXT "TESPR1.TXT" qui le guide a été créé par mon petit truc de saisie de texte à trous:
"http://www.vbfrance.com/codes/SAISIE-EXERCICES-TROUS-PUIS-EXEMPLE-UTILISATION_52599.aspx" (utiliser "pointeur0.exo" à coder au préalable en "pointeur0.exe"),
Si vous voulez en créer un autre, modifiez le nom des 2 modèles(pour qu'ils ne s'effacent pas- car je n'ai pas prévu pour eux de boîte d'ouverture de fichiers-), appelez votre image du même nom: "TESPR1.JPG"; lancez "pointeur0.exe"; reprenez ensuite le fichier.TXT obtenu avec quelquechose qui zoome (wordpad suffit) pour compléter les codes conformément au modèle donné "TESPR1.TXT" (les "remplacer" aident bien à formater les divers éléments.) [La réalisation est plus simple que les explications: il suffit d'essayer.]
(exo 7)*** On peut aussi créer d'autres textes à mettre au présent à partir de "(docprésent).rtf " que vous pourrez écrire ou scanner :
(Bien vérifier et relire votre document avant de le traiter, car il ne devra plus être changé, ne serait-ce que d'un caractère!)
utiliser la source " http://www.vbfrance.com/codes/EXERCICES-TROUS-PARTIR-DOCUMENT-RTF-EXEMPLES-SAISIES-EXEMPLES_52633.aspx "
(utiliser "sais1mtrtf-txt.exo" de préférence -en modifiant suffixe "sais1mtrtf-txt.exe"- pour créer le fichier.txt à joindre (pointage des verbes et de leurs sujets: relevé des coordonnées),
puis rouvrir le fichier.TXT obtenu avec wordpad par.ex(zoom, donc plus aisé); observer les codes des exos faits pour en respecter la forme des renseignements à y inclure selon le type d'exercice(cf les fichiers.TXT correspondants pour le codage) -[les "remplacer "sont bien utiles pour faire vite]
ex: "Remplace faire.txt" ; "virus mele temps.txt" ; "valeurpresent.txt" ; "harengip.txt"
et enfin en modifiant le suffixe "(docpréent).rtf " en "(docfutur).rtp " et en plaçant (doc).rtp et (doc).txt dans le même dossier que "present2.exo"(changé en "present2.exe"): une boîte de dialogue "ouvrir fichier" permettra à l'utilisateur de choisir son texte parmi les divers(doc).rtp édités
Bien entendu, ne surtout pas modifier les (doc.rtp) après, ne serait-ce que d'un caractère: toutes les coordonnées seraient alors faussées et il vous faudrait reprendre toute la saisie!

Pour les vbsixtes...
Je me suis plus attaché aux règles de la conjugaison française qu'aux règles syntaxiques de disposition d'un code... J'ai essayé, mais, après tant de mauvaises habitudes, c'est moi qui n'y comprends plus rien pour mettre au point quand j'essaie de respecter cette disposition ... mes suites d'instructions "en paragraphes" me parlent beaucoup plus.
Alors, toutes mes excuses auprès des administrateurs de vbfrance, particulièrement à Nhenry, car j'ai la flegme, après avoir tout fait, de redisposer l'ensemble mon bricolage (instructions multiples, pas assez de commentaires,etc...)

Source / Exemple :


'voir zip
'ici seulement le choix retenu pour "fabriquer" un verbe au présent. 
Private Sub impersodfctifs() 'réservé aux cas 0 et 1 -après vérif des imperso et défectifs, branchement direct sur formation du présent

dif = 0: suj1 = ""
For u = 0 To nserid
For i = 0 To nipdf(u)
If inf = ipdf(u, i) Then defect = Left(codid(u), 2): dif = 1: If Len(codid(u)) > 2 Then suj1 = Mid(codid(u), 3)
If dif > 0 Then Exit For
Next i, u
vpr3 = ""
If dif = 1 And Val(defect) = 0 Then aa = MsgBox("Pas de présent", vbInformation, inf): Exit Sub
formationp 'appel formation du présent

If dg3 = 9 Then aa = MsgBox("Je n'ai pas compris la terminaison de l'infinitif;" & Chr(10) & "Peux-tu corriger, s'il te plaît", vbExclamation, "--er; --ir; --re"): drad0 = 1: suitex1: Exit Sub
Form1.Caption = "Fais le cheminement nécessaire pour choisir le RADICAL de [" & inf & "] au PRESENT: (clique sur le menu)"
Text1.Visible = False: Command1.Visible = False
PopupMenu rad, 0, Label1(0).Left, Label1(0).Top + 500 'branchement sur menu cheminement formation radical par utilisateur
End Sub
' =======================================================================================================
' =======================================[formation des éléments du présent par l'ordi: exos 0 et 1; 2-3-4 ; 7(textes)]================
Private Sub metese() 'cas des verbes pronominaux [formation des éléments du présent par l'ordi: exos 0 et 1; 2-3-4 ; 7(textes)]
vpr1 = 0
If Left(inf, 2) = "s'" Then
If Left(inf, 5) = "s'en " Then inf1 = Mid(inf, 6): vpr1 = 13 Else If Left(inf, 4) = "s'y " Then inf1 = Mid(inf, 5): vpr1 = 19 Else inf1 = Mid(inf, 3): vpr1 = 7
Else:
If Left(inf, 3) = "se " Then inf1 = Mid(inf, 4): vpr1 = 1
End If
End Sub

Private Sub formationp() '************ tri formation du radical/terminaison des verbes au présent de l'indicatif  3 pers du sing***************
'double codage pour terminaisons: dg3(=integer) pour les étiquettes et codtp = "t0... pour le cheminement par menu term
inf1 = inf: metese 'appel vérif pronominal
If Right(inf1, 2) = "ir" And Right(inf1, 3) <> "oir" Then
        dg3 = -1: i = 0
         'voir aussi vêtir/pleuvoir à deux endroits
        Do While i <= n3ir
        If inf1 = g3ir(i) Then
            If Right(inf1, 4) = "fuir" Then dg3 = 11: radi = Left(inf1, Len(inf1) - 1): codrp = "p0(2)": codtp = "t014(3)": Exit Do
            If Right(inf1, 4) = "ouïr" Then dg3 = 131: radi = Left(inf1, Len(inf1) - 1) & "i": codrp = "p00(2)": codtp = "t014(3)": Exit Do 'ouïr/ois ???"
            If Len(inf1) > 4 Then
                If inf1 = "gésir" Then dg3 = 1: radi = "gi": codrp = "p00(2)": codtp = "t014(3)": Exit Do: 'gésir/pb il gît ???
                If Right(inf1, 4) = "enir" Then dg3 = 141: radi = Left(inf1, Len(inf1) - 4) & "ien": codrp = "p00(1)": codtp = "t014(3)": Exit Do '-tenir,-venir ???"
                If Right(inf1, 5) = "uérir" Then dg3 = 241: radi = Left(inf1, Len(inf1) - 4) & "ier": codrp = "p00(2)": codtp = "t014(3)": Exit Do 'quérir -acquérir j'acquiers ???"
                If Right(inf1, 4) = "êtir" Then dg3 = 224: radi = Left(inf1, Len(inf1) - 2): codrp = "p03(4)": codtp = "t014(1)": Exit Do  ' vêtir (pb il vêt (pas d'ajout de 2e t)
                If Right(inf1, 4) = "vrir" Or Right(inf1, 4) = "frir" Then dg3 = 4220: radi = Left(inf1, Len(inf1) - 2): codrp = "p03(5)": codtp = "t01(0)": Exit Do  'ouvrir/offrir
                If Right(inf1, 4) = "ntir" Or Right(inf1, 4) = "rmir" Or Right(inf1, 4) = "rtir" Or Right(inf1, 4) = "rvir" Then dg3 = 4231: radi = Left(inf1, Len(inf1) - 3): codrp = "p04(2)": codtp = "t014(3)": Exit Do  '"
                        End If
            If Len(inf1) >= 6 Then
                If inf1 = "faillir" Then dg3 = 253: radi = "fau": codrp = "p00(2)": codtp = "t01(2)": Exit Do
                If Right(inf1, 6) = "aillir" Or Right(inf1, 6) = "eillir" Then dg3 = 20: radi = Left(inf1, Len(inf1) - 2): codrp = "p03(5)": codtp = "t01(0)": Exit Do 'cueille,tréssaille
                If Right(inf1, 6) = "uillir" Then dg3 = 551: radi = Left(inf1, Len(inf1) - 5): codrp = "p0(6)": codtp = "t014(3)": Exit Do 'bouillir/bous"
                If Right(inf1, 6) = "courir" Then dg3 = 3021: radi = Left(inf1, Len(inf1) - 2): codrp = "p03(0)": codtp = "t014(3)": Exit Do 'courir/cours"
                If Right(inf1, 6) = "mourir" Then dg3 = 261: radi = "meur": codrp = "p00(2)": codtp = "t014(3)": Exit Do 'mourir/meurs ???"
               
            End If
        End If
        i = i + 1
        Loop

End If
'If dg3 > 0 Then If dg3 Mod 10 = 0 Then radi = radi & "e [3 gr!!!! IR]" Else radi = radi & "s [3 gr!!!! IR]" 'provisoire pour testCORRECT

If Right(inf1, 2) = "er" Then
    dg3 = 0
    If Len(inf1) < 5 Then inf1 = " " & inf1 'Au moins des verbes de 5 car: éviter erreurs en cas de mid(..,p,n)-penser ensuite à faire trim(radi)!
    If inf1 = "aller" Or Right(inf1, 6) = " aller" Then
        radi = "v": codrp = "p00(0)": codtp = "t01(1)": r = "ir": dg3 = 7 'aller
    ElseIf Right(inf1, 3) = "yer" Then radi = Left(inf1, Len(inf1) - 3) + "i": codrp = "p01(1)": codtp = "t0(0)"  ' -yer: (je n'ai pas gardé la possibilité -aye)
    ElseIf InStr("clmnprstv", Mid(inf1, Len(inf1) - 2, 1)) > 0 And Mid(inf1, Len(inf1) - 3, 1) = "e" Then 'e+csne+er
            If InStr("lt", Mid(inf1, Len(inf1) - 2, 1)) > 0 Then 'eler/eter
                        For yy = 0 To 22 'dans la liste -èl/-èt?
                If elter(yy) = inf1 Then radi = Left(inf1, Len(inf1) - 4) + "è" + Mid(inf1, Len(inf1) - 2, 1): codrp = "p0130(0)": codtp = "t0(0)": yy = 22 ' voir si c'est ds la liste des _èle-/_ète-
                        Next yy
                If radi = "" Then radi = Left(inf1, Len(inf1) - 2) & Mid(inf1, Len(inf1) - 2, 1): codrp = "p0130(2)": codtp = "t0(0)" '-ll- ou -tt-
            Else
                 radi = Left(inf1, Len(inf1) - 4) + "è" + Mid(inf1, Len(inf1) - 2, 1): codrp = "p013(1)": codtp = "t0(0)":  'sinon si pas l/t :_è +csne_
            End If
        
    ElseIf inf1 = "sevrer" Then radi = "sèvr": codf = "f11(1)": codrp = "p013(1)": codtp = "t0(0)": 'e+vr+er (2consonnes)
    ElseIf Mid(inf1, Len(inf1) - 3, 1) = "é" Or Mid(inf1, Len(inf1) - 4, 1) = "é" Then 'on ne teste que la place du [é]
        For i = 0 To 18 'on teste é+csne+er
        terter = "é" & csn1(i) & "er": l = Len(terter): k = l - 1
        If Right(inf1, l) = terter Then radi = Left(inf1, Len(inf1) - l) + "è" & csn1(i): codrp = "p01(2)": codtp = "t0(0)": i = 18:
        Next i
       If radi = "" Then radi = Left(inf1, Len(inf1) - 2): codrp = "p01(0)": codtp = "t0(0)" 'si pas dans la liste "é+csne+er", donc radical sans modif
    Else
        If radi = "" Then radi = Left(inf1, Len(inf1) - 2): codrp = "p01(0)": codtp = "t0(0)"  'sinon, cas normal:inf moins -er
        'cmer = cmer & radi & ","
 
 End If

'********** cas des -ir non traités (2e gr):
ElseIf Right(inf1, 2) = "ir" And Right(inf1, 3) <> "oir" And dg3 = -1 Then radi = Left(inf1, Len(inf1) - 1): dg3 = 1: codrp = "p0(2)": codtp = "t014(3)" ' & "s"
        

' ********** autres verbes du 3e gr :-re
ElseIf Right(inf1, 2) = "re" Then
    If InStr("dptv", Mid(inf1, Len(inf1) - 2, 1)) > 0 Then
        If Right(inf1, 5) = "indre" Or Right(inf1, 6) = "soudre" Or Right(inf1, 3) = "tre" Or Right(inf1, 3) = "vre" Then radi = Left(inf1, Len(inf1) - 3): dg3 = 1: codrp = "p04(2)": codtp = "t014(3)" _
        Else If Right(inf1, 3) = "dre" Then radi = Left(inf1, Len(inf1) - 3): dg3 = 2: codrp = "p04(2)": codtp = "t01(3)"
        If Right(inf1, 4) = "ttre" Then radi = Left(inf1, Len(inf1) - 3): dg3 = 4: codrp = "p04(2)": codtp = "t014(2)"
        If Right(inf1, 4) = "ître" Then radi = Left(inf1, Len(inf1) - 4) & "i": dg3 = 1: codrp = "p04(1)": codtp = "t014(3)"
        If Right(inf1, 4) = "mpre" Then radi = Left(inf1, Len(inf1) - 2): dg3 = 1: codrp = "p03(3)": codtp = "t014(3)"
        If inf1 = "croître" Then radi = Left(inf1, Len(inf1) - 3): dg3 = 1: codrp = "p04(0)": codtp = "t014(3)"
        If inf1 = "être" Then radi = " ": r = "ir": dg3 = 5: codrp = "p00(0)": codtp = "t01(1)" 'être

    Else 'vaincre
        If Right(inf1, 4) = "ncre" Then radi = Left(inf1, Len(inf1) - 2): dg3 = 4: codrp = "p03(3)": codtp = "t014(0)" _
        Else radi = Left(inf1, Len(inf1) - 2): dg3 = 1: codrp = "p03(1)": codtp = "t014(3)"        ' ??? voir code radical"
        If inf = "clore" Or Right(inf, 6) = "plaire" Then radi = Left(inf1, Len(inf1) - 2): dg3 = 1: codrp = "p03(2)": codtp = "t014(3)"

   End If
' ********** autres verbes du 3e gr :-oir
ElseIf Right(inf1, 3) = "oir" Then
    
        If Right(inf1, 6) = "cevoir" Then radi = Left(inf1, Len(inf1) - 6) & "çoi": dg3 = 1: codrp = "p0032(0)": codtp = "t014(3)" '-cevoir'; -uvoir, sauf pouvoir,revoir,entrevoir donc placer  test pouvoir,revoir,entrevoir après pour son cas -rr-"
        If Right(inf1, 5) = "evoir" Then If InStr("cr", Mid(inf1, Len(inf1) - 5, 1)) = 0 Then radi = Left(inf1, Len(inf1) - 5) & "oi": dg3 = 1: codrp = "p00032(1)": codtp = "t014(3)":
        If inf1 = "pouvoir" Or Right(inf1, 5) = "uloir" Then radi = Left(inf1, Len(inf1) - 6) & "eu": dg3 = 3: codrp = "p003(0)": codtp = "t01(2)" 'pouvoir,vouloir
        If Right(inf1, 7) = "mouvoir" Then radi = Left(inf1, Len(inf1) - 6) & "eu": dg3 = 1: codrp = "p003(5)": codtp = "t014(3)" '-mouvoir"
        If inf1 = "pleuvoir" Then radi = Left(inf1, Len(inf1) - 4): dg3 = 1: codrp = "p003(7)": codtp = "t014(3)": ' pleuvoir   ??? revoir le code radical,"
        If inf1 = "voir" Or Right(inf1, 6) = "revoir" Or Right(inf1, 6) = "révoir" Or Right(inf1, 5) = "rvoir" Or Right(inf1, 4) = "hoir" Then dg3 = 11: radi = Left(inf1, Len(inf1) - 1): dg3 = 1: codrp = "p003(6)": codtp = "t014(3)": r = "r": 'il n'y a pas prévoir, ni pourvoir (inf complet)
        'Or inf1 = "se voir" Or inf1 = "se revoir"Or inf1 = "entrevoir"Or inf1 = "dépourvoir" ??? penser à associer le codage bis codrp="p0(2) (moins une lettre)
        'Or Right(inf1, 5) = "uvoir"
         If inf1 = "avoir" Then radi = " ": dg3 = 6: codrp = "p00(0)": codtp = "t01(1)" 'avoir
       If Right(inf1, 6) = "savoir" Then radi = Left(inf1, Len(inf1) - 4) & "i": dg3 = 1: codrp = "p003(1)": codtp = "t014(3)" '_savoir ( dg3 = 31)"
        If Right(inf1, 5) = "aloir" Then radi = Left(inf1, Len(inf1) - 4) & "u": dg3 = 3: codrp = "p003(0)": codtp = "t01(2)" ',valoir
        If Right(inf1, 6) = "alloir" Then radi = Left(inf1, Len(inf1) - 5) & "u": dg3 = 3: codrp = "p003(0)": codtp = "t014(3)" ',falloir ??? ou dg3=1"
        If inf1 = "messeoir" Or inf1 = "seoir" Then radi = Left(inf1, Len(inf1) - 4) & "ie": dg3 = 2: codrp = "p003(4)": codtp = "t01(3)" 'à vérif ???
        If Right(inf1, 7) = "asseoir" Or inf1 = "surseoir" Then radi = Left(inf1, Len(inf1) - 4) & "oi": dg3 = 1: codrp = "p003(3)": codtp = "t014(3)"
        If Right(inf1, 8) = "pleuvoir" Then radi = Left(inf1, Len(inf1) - 4): dg3 = 1: codrp = "p0(5)": codtp = "t014(3)" 'pleuvoir"
        If radi = "" Then radi = "==  OUBLI == ": ' codf = "f22(0)" '(choir, pourvoir,prévoir)
   Else 'cas -ïr
       If inf1 = "ouïr" Then radi = "oi": dg3 = 1: codrp = "p00(2)": codtp = "t014(3)"
     If radi = "" Then radi = "==  OUBLI == ": dg3 = 9: codf = "0" 'sinon, j'ai oublié un cas!
    
End If
     If radi = "" Or dg3 = 9 Then aa = MsgBox("Soit tu es trop fort(e) pour moi;" & Chr(10) & "soit tu essaies de me prendre en défaut;" & "ou alors, tu as commis une petite faute d'orthographe.", vbExclamation, "Désolé, je ne sais pas conjuguer ce verbe") 'radi = "==  OUBLI == ": codf = "f0(0)"  'sinon, j'ai oublié un cas!
If radi > "" Then radi = Trim(radi) 'être et avoir auront à nouveau un radical vide/on enlève l'espace à gauche des verbes de moins de 5 lettres
End Sub
' ====================================================================================================================================

Conclusion :


Merci d'avance d'abord à ceux qui se pencheront sur/utiliseront cela ;
merci aussi pour les remarques ou suggestions.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
30
Date d'inscription
jeudi 10 septembre 2009
Statut
Membre
Dernière intervention
5 octobre 2013

Bonsoir, NHenry,
Excusez-moi tout d'abord de ne pas avoir répondu à votre premier message sur la précédente source ... Toujours mes travers...
Le problème, c'est qu'avec le grand nombre de paramètres, je me perds sur tant de lignes, alors que, pour la présentation de la programmation, la règle, la tournure d'esprit et l'habitude générale sont de visualiser comme vous me le proposez.
Ce que j'aurais pu faire pour limiter -dans la partie que vous me donnez en illustration-, c'est englober dans radi(string radical selon type de verbe) les codes de pointage du cheminement correspondant pour l'utilisateur (pour formation radical et 2 façons pour terminaison:par raisonnement-élimination (menu) et par choix de tableaux de terminaisons);
j'aurais pu mettre des N°s correspondant à des array qui reprennent ces codages, puis, avant utilisation, redistribution de ces N°S pour reformer les codes.
par.ex: codradi=array("p0(0)","p0(1)",...etc...
codterm=array("t0(0)","t0(1),...
Ainsi je n'aurais eu par-exemple que If Right(inf1, 4) "ncre" Then radi "42208" & Left(inf1, Len(inf1) - 2)en évitant: dg3 4: codrp "p03(3)": codtp = "t014(0)"

et, à la fin, avant passage de la main à l'utilisateur,
dg3=val(left(radi,1)) ' pour affichage étiquettes
codrp=codrad(val(mid(radi,2,2))) ' pour cheminement dans menu radical
codtp=codterm(val(mid(radi,4,2))) ' pour cheminement dans menu
radi=mid(radi,6) ' on retrouve le radical

quant à "' ??? voir code radical", j'ai oublié de l'enlever ... C'était pour moi ... Une recherche de " ??? "et je retrouve les questions que je me posais et les trucs à vérifier
En vous remerciant de m'avoir lu;
Bonne soirée.
Messages postés
14673
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 juin 2020
143
Bonjour,

Je n'ai pas tout regardé, mais évites ce genre de syntaxe : If Right(inf1, 4) "ncre" Then radi Left(inf1, Len(inf1) - 2): dg3 = 4: codrp = "p03(3)": codtp = "t014(0)" _Else radi Left(inf1, Len(inf1) - 2): dg3 1: codrp = "p03(1)": codtp = "t014(3)" ' ??? voir code radical"

Car c'est quasi illisible, en général, c'est une instruction par ligne :
If Right(inf1, 4) = "ncre" Then
radi = Left(inf1, Len(inf1) - 2)
dg3 = 4
codrp = "p03(3)"
codtp = "t014(0)"
Else
radi = Left(inf1, Len(inf1) - 2)
dg3 = 1
codrp = "p03(1)"
codtp = "t014(3)" ' ??? voir code radical"
End If

Est bien plus lisible (Et encore mieux avec l'indentation).

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.