Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Complément (Vba Indenter Interface) V3.1.C Fx4.1

p'tit vieux

XLDnaute Occasionnel
voila j'ai bloqué cet event et vous avez toute les dernière petite mises a jour
qui ont été faite depuis octobre
Bonjour @patricktoulon
Ta nouvelle version fonctionne je n'ai plus les messages d'avant.
Par contre plutôt qu'un long discours voici ce qu'il se passe au bout d'environ une minute d'utilisation.
Video

Excel plante.
Je ne fais que "jouer" avec les paramètres d'indentation rien d'autre.
 

patricktoulon

XLDnaute Barbatruc
c'est peut être du au hook de la molette souris
impossible d'adapter quelque chose qui fonctionne sans encombre sur 32/64 avec toutes les versions d'excel
au debut je croyais que c'etais 32 ou 64 mais je me suis rendu compte que ça allait plus loin que ça
le vbaIndenter est équipé de la version la moins planteuse (testé sur des dizaine de configs différentes)
si pour toi c'est simplement l'indentation qui compte fait le directe dans le module
l'interface est là que pour le paramétrage il faut enregistrer bien sur (bouton enregistrer)
et la possibilité de travailler hors module
et l'export en html ou autre
 

p'tit vieux

XLDnaute Occasionnel
Oui j'ai testé la sortie HTML. No problem et utile pour de la doc.
Bon boulot quand même. Bravo.
Ne t'inquiète pas les bugs dans les applis c'est comme les puces sur les chiens ça marche ensemble

Puis je me permettre une proposition.
Serait-il possible de paramétrer la taille de l'indentation. OK, par défaut c'est 4 espaces, mais si on pouvait choisir.
Enfin c'est juste une proposition … à la con.
 

patricktoulon

XLDnaute Barbatruc
re
c'est une idée que j'avais mis en application au depart mais en dessous 4 c'est pas parlant le visuel
et j'ai voulu rester dans les normes de l'indentation vb qui est le vbtab soit 4 espaces
apres plus on est proche de l'indentation du xml (equivalent de 6 espaces)
mais après tout tu peux te modifier ça si pour toi 4 espaces ne sont pas suffisants
 

patricktoulon

XLDnaute Barbatruc
en tout cas je suis content car tu m'a vraiment fait peur
comme quoi des fois comme je disais l'erreur annoncée en vba n'est peut être celle qui est vraiment
après je dois reconnaitre que là j'utilise le subclassing avec un userform
l'erreur se déclenche ou elle peut c'est un peu comme l'adressof
exercice péri-eux quand on maitrise pas

et c'est pas pour me venter mais ayant tester la version 4.0 de smart indenter
mon moteur d'indentation n'a rien a lui envier
sans hésitation je peux dire que je fait mieux

c'est beaucoup grâce a @fanch55 qui m'a refiler des codes a analyser aussi tordus les uns que les autres(mais valides)
j'ai pu comme ça envisager beaucoup de possibilités et de style d’écriture pour le raisonnement de l'algo

beaucoup de travail ,des centaines d'heures et de tant en temps je trouve des petit accrocs
que je corrige quand je tombe dessus mais jamais des gros trucs
d'ailleurs on le vois dans mes vidéos ou captures je n'utilise plus smart indenter 3.5(la version gratuite) pour le 32 bits
 
Dernière édition:

p'tit vieux

XLDnaute Occasionnel
Subclassing et autre Hook sont assez casse-cou en VBA pour debugger. On a pas de véritable maitrise des Events même en gérant par code chacun d'eux. Je dirais idem pour les AddressOff que je n'aime pas vraiment utiliser. Sans les Events c'est plus cool.
Dans d'autres comme en .NET aussi, même si c'est "mieux".
 

patricktoulon

XLDnaute Barbatruc
pour indenter à 6
VB:
 SpaCeHTML = Application.Rept("     ", Val(ps(i).getattribute("indent")))
        SpaCeText = Application.Rept("      ", Val(ps(i).getattribute("indent")))
 

p'tit vieux

XLDnaute Occasionnel
Ca à l'air de se passer le temps que VBA Indenter prend la main sur un évènement ??
Au bout d'un moment ça s'arrète. Puis ça reprend
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
c'est bizarre ton truc
aucun event n'a d'incidence sur le module actif
le menu est dans une classe
le moteur est dans une classe(userform)
si le userform est fermer il est fermé
l'action sans interface est faite une seule fois au click sur un bouton du menu
après quand le userform est ouvert c'est en lui que ça se passe
après ta video n'est pas tres parlante je suppose que tu fait allusion aux sacades dans la selection
mais je n'ai pas d'idées là
 

patricktoulon

XLDnaute Barbatruc
alors je n'y suis pour rien il n'y a aucune action du genre faire une sélection par vba
c'est d'ailleurs un problème pour moi pour aller plus loin
les manipulation par vba dans les modules sont limité
demain je te ferait une version sans hook tu te servira des scrollbars dans l'interface
on verra si c'est ça
si c'est pas ça alors ça vient de chez toi un truc incompatible avec mon truc
 

p'tit vieux

XLDnaute Occasionnel
OK On fait comme ça.
Le truc bizarre c'est que ça dure un certain temps, ça s'arrete puis ça revient.
Je n'ai pas chronométré histoire de voir si il y a un "Timer" derrière ce bazar mais faudra que je le fasse.
Bonne soirée à toi
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…