Accueil | Ce site | CV | Excel | Livre d’or | Macros XL4 | Modèles | VBA

 Les macros de M Indente

Seul le code complet des 2 macros de la feuille M Indente est reproduit ici. Vous pouvez également en voir l’analyse et le mode d’emploi.

Indentation

Indentation
=POSER.VALEUR(Longueur;0)
=POSER.VALEUR(Suite;0)
=POSER.VALEUR(Formule.Précédente;"")
=POSER.VALEUR(Num.Couleur;1)
=POSER.VALEUR(Fin;FAUX)
=POSER.VALEUR(Gras;FAUX)
=POSER.VALEUR(Italique;FAUX)
=POSER.VALEUR(Nb.Lignes;LIGNES(SELECTION()))
=SELECTIONNER("LC")
=   POUR("Compteur";1;Nb.Lignes)
=            SI(GAUCHE(LIRE.FORMULE(CELLULE.ACTIVE());1) = "=")
=                POSER.VALEUR(Formule;STXT(LIRE.FORMULE(CELLULE.ACTIVE());2;10000))
=                POSER.VALEUR(Longueur;Longueur + Suite)
			              Traitement SI(), ... FIN.SI()
=                    SI(GAUCHE(Formule;3) = "SI(")
=                        POSER.VALEUR(Num.Couleur;Num.Couleur + 1)
=                        POSER.VALEUR(Longueur;Longueur + Nb.Car)
=                        POSER.VALEUR(Suite;Nb.Car)
=                    SINON.SI(OU(GAUCHE(Formule;6) = "SINON(";GAUCHE(Formule;9) = "SINON.SI("))
=                        POSER.VALEUR(Longueur;Longueur - Nb.Car)
=                        POSER.VALEUR(Suite;Nb.Car)
=                    SINON.SI(GAUCHE(Formule;7) = "FIN.SI(")
=                        POSER.VALEUR(Fin;VRAI)
=                        POSER.VALEUR(Longueur;Longueur - Nb.Car)
=                        POSER.VALEUR(Suite;-Nb.Car)
=                    SINON()
=                        POSER.VALEUR(Suite;0)
=                    FIN.SI()
						              Traitement Boucles
=                    SI(OU(GAUCHE(Formule;5) = "POUR(";GAUCHE(Formule;9) = "TANT.QUE("))
=                        POSER.VALEUR(Longueur;Longueur + Nb.Car)
=                        POSER.VALEUR(Suite;Nb.Car)
=                        POSER.VALEUR(Gras;VRAI)
=                        POSER.VALEUR(Italique;VRAI)
=                    SINON.SI(GAUCHE(Formule;8) = "SUIVANT(")
=                        POSER.VALEUR(Longueur;Longueur - Nb.Car)
=                        POSER.VALEUR(Suite;-Nb.Car)
=                        POSER.VALEUR(Gras;VRAI)
=                        POSER.VALEUR(Italique;VRAI)
=                    SINON.SI(NON(ESTERREUR(CHERCHE("SORTIR.BOUCLE()";Formule))))
=                        POSER.VALEUR(Gras;VRAI)
=                        POSER.VALEUR(Italique;VRAI)
=                    FIN.SI()
						              MAJ
=                PROPRIETES.POLICE(;;;;;;;;;INDEX(Couleurs;Num.Couleur)) + STYLE(Gras;Italique) + FORMULE("=" & REPT(" ";Longueur) & Formule)
=                    SI(Fin)
=                        POSER.VALEUR(Num.Couleur;Num.Couleur - 1)
=                        POSER.VALEUR(Fin;FAUX)
=                    FIN.SI()
=                POSER.VALEUR(Gras;FAUX)
=                POSER.VALEUR(Italique;FAUX)
=                POSER.VALEUR(Formule.Précédente;Formule)
=            SINON()
=                PROPRIETES.POLICE(;;;;;;;;;INDEX(Couleurs;Num.Couleur)) + FORMULE(REPT(" ";Longueur + 2) & LIRE.FORMULE(CELLULE.ACTIVE()))
=            FIN.SI()
=        SELECTIONNER("L(1)C")
=   SUIVANT()
=RETOUR()

Désindentation

Désindentation
Couleur standard
=PROPRIETES.POLICE(;;;;;;;;;;VRAI)
=POSER.VALEUR(Nb.Lignes;LIGNES(SELECTION()))
=   POUR("Compteur";1;Nb.Lignes)
=          TANT.QUE(GAUCHE(LIRE.FORMULE(CELLULE.ACTIVE());Nb.Car + 1) =  "=" & REPT(" ";Nb.Car))
=                FORMULE("=" & STXT(LIRE.FORMULE(CELLULE.ACTIVE());Nb.Car + 2;253))
=          SUIVANT()
=          TANT.QUE(GAUCHE(LIRE.FORMULE(CELLULE.ACTIVE());2) = "= ")
=                FORMULE("=" & STXT(LIRE.FORMULE(CELLULE.ACTIVE());3;253))
=          SUIVANT()
=        SELECTIONNER("L(1)C")
=    SUIVANT()
=RETOUR()