• Initiateur de la discussion Initiateur de la discussion VIARD
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

VIARD

XLDnaute Impliqué
Bonjour à toutes et tous

C'est une manip que je fais pour le plaisir.
Je mets un listing de programme sur un formulaire puis je l'indente.
j'arrive à indenter correctement sur les mots clés mais pas entre-eux.
j'ai tenté plusieurs solution sans succès.
Tout est clair dans le fichier avec ce que je voudrais obtenir en rouge colonne "D".
fichier joint.

amicalement

Jean-Paul
 

Pièces jointes

Bonsour®
Bonjour à tous


Pour le quote, j'utilise "Chr$(39)", c'est la seule solution que j'ai trouvé pour que cela fonctionne.

Par contre, il faudra que je teste avec .text comme l'a souligné MDG 🙂.
dans le cas de l'utilisation de Cells(x,y).Value
l'apostrophe est interprétée en tant que "PrefixCharacter" et non comme "apostrophe texte"
car "By Design" l'interprétation feuille de calcul est prise en compte automatiquement, VBA n'y voit que du feu
(c'est ce qui ce produit également dans la reconnaissance automatique d'une date et les problèmes récurrent dates US / FR)
MsgBox "The prefix character is " & _
Worksheets("Sheet1").Range("A1").PrefixCharacter
Lors de la copie du code VBE dans la page EXCEL il conviendra donc de pré formater les cellules au format "Text"
 
Bonjour à toutes et tous

J'ai continué les manips en vue de supprimer l'indice de tabulation sur le formulaire.
J'ai utilisé le Dico pour la première fois, ça marche mais il y a des répétitions de tri.
Donc j'ai fait une autre version avec tableau, c'est bien plus légé.

Voici le fichier avec ses 2 autres versions.

CDT Jean-Paul
 

Pièces jointes

Bonjours à toutes et tous

Comme je ne lâche pas le morceau, j'ai résolu le problème du caractère "CHR(39)" en tête de ligne.
Et je remercie vivement "Modeste Geedee" pour l'éclairage qu'il apporte avec "PrefixCaract", je ne connaissais pas.
Donc voici 2 fichiers, l'un regroupe les 3 manip (avec colonne auxiliaire, avec dico et sans).
L'autre uniquement sans dico.

A+ Jean-Paul
 

Pièces jointes

Bonjour,
par contre, je tente de mettre la valeur de la tabulation sous forme data pour éviter la colonne "C".
A la place des Tab tu pourrais te servir de .IndentLevel des cellules.
Plus besoin de stocker. Pour indenter/désindenter lire le niveau de la cellule au-dessus +/-1.
Plus de traitement de chaine pour gérer ça non plus.
eric

PS : j'ai voulu tester en ajoutant des lignes à la main. Les mots sans initiale en majuscule ne sont pas reconnus. Je verrais bien les comparer tout en majuscule avec ucase().
Pour Select Case ça donne :
Code:
Z = 0: Col = 3
      Select Case a
            Case 1
            a = 1
je verrais mieux :
Code:
    Z = 0: Col = 3
    Select Case a
    Case 1
        a = 1
 
Dernière édition:
Bonjour Modeste Geedee, Eriic, Mj13 à toutes et tous


C’est la suite de l’indentation, comme préconisé par ″Eriiic″ que je remercie au passage de m’avoir mis sur la piste. Réalisé une indentation direct en utilisant ″IndentLevel″ encore un terme que je ne connaissais pas, après quelques manip, je l’ai adapté au programme, par contre ici, le pas de l’indentation est fixe et limité de (0 à 15), contrairement à la tabulation ajustable.

Le programme qui suit comprend 2 versions une en comparaison avec tab et ″indentlevel″, et l’autre avec ″indentlevel″ seul, cette version prend 100 lignes de code.

Je remercie également ″Modeste Geedee″, la colonne ″A″ est au format texte et CHR(39) est traité (.PrefixCaract) (Commentaire).

Je pense que cette fois, c’est terminé.


Amicalement à tous Jean-Paul
 

Pièces jointes

Bonjour,

par contre ici, le pas de l’indentation est fixe et limité de (0 à 15)
Je pense qu'ils ont oublié de mettre à jour leur doc depuis 2003.
Sur 2010 on peut aller jusqu'à 250 pour le retrait (vérifiable dans la boite de dialogue)
Du coup tu peux offrir la possibilité de mettre 2-3 indentlevel par incrémentation pour ceux qui trouve que c'est un peu juste.
eric

PS: Souhait de eriiic est un mot un peu fort ;-) C'était juste une proposition pour alléger et simplifier 🙂
 
Dernière édition:
Bonjour à toutes et tous


J’ai repris la manip sur INDENTLEVEL, pour rendre l’indentation ajustable.

Toutefois j’ai rencontré des cas ou l’indentation ne fonctionnait pas, après analyse, les mots clés et certains espaces

En général étaient des ″Chr(160) ″ au lieu du ″Chr(32)″ , pourquoi ? ,quel en est la raison !


Le programme gère cette éventualité.


Amicalement à tous

Jean-Paul
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
800
J
Réponses
1
Affichages
2 K
Réponses
8
Affichages
1 K
R
Réponses
2
Affichages
749
Ragnarr
R
D
Réponses
6
Affichages
1 K
D
Réponses
11
Affichages
2 K
Retour