Forums XLPages

Tous les messages (dedechseb)

1 2 »
Re: Ajuster automatiquement la hauteur d'une ligne fusionnée
#1
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 26-08-2009 18h52
Re-Bonsoir,

Alors j'ai suivi vos instructions, et en ne modifiant que la 1ere colonne (en lui posant une largeur de 80 pixels), le problème est réglé.
Je vais donc revoir un peu ma pagination pour pouvoir laisser juste cette colonne à 80pixels de large.

Cependant je m'excuse mais je ne parviens pas tout à fait à saisir le soucis rencontré avec une largeur de 3 caractères? En effet je conçois que par rapport à la longueur totale de ma ligne, ce soit très petit.

Mais lorsque je passe la largeur de la première colonne à 80 pixels soit 10,71 caractères,cela n'est pas forcément beaucoup plus gran par rapport à la longueur de ma ligne?

A quelle endroit de la procédure "AutoFitMergedCellRowHeight" cette valeur commence-t-elle à poser problème?

Merci d'avance pour vos lumières !

Hors Ligne
Rapport   Haut 

Re: Ajuster automatiquement la hauteur d'une ligne fusionnée
#2
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 26-08-2009 17h45
Re-Bonjour,

Alors j'ai pu tester un peu votre fichier. Tout heureux que ça marche je modifie donc mon code pour le mettre à jour à l'aide du votre, mais hélas pas moyen d'obtenir le même résultat....

Cette fois çi toutes les lignes sont modifiées en hauteur,  mais au lieu que cela soit fait de façon anarchique cette fois la modification de hauteur est régulière et fonction de la hauteur de texte dedans...  On dirait qu'en fait la cellule est 2fois plus haute que le texte entré dedans.

Afin de re-tester votre fichier, j'ai modifié la taille des colonne et des lignes afin de les mettre au même valeurs que sur mon fichier final, à savoir que la feuille finale recevant les "prestations" dans des cellules fusionnées :
- a toutes ses lignes à la base d'une hauteur de 11,25  (points? cm? pouces?)
- a toutes ses colonnes à la base d'une largeur de 3 
- la cellule fusionnée recevant une prestation comprends 13 cellules de base.

Et après avoir appliqué ces modifs sur votre fichier, il s'avère que le même problème survient.

J'ai compris l'essence du code que vous avez utilisé,  même si certains points demeurent un peu obscur je pense que d'ici demain j'aurai compris complètement la manip...  Cependant je ne saurai vraiment pas dire à quel endroit cela coince ...

Merci d'avance pour votre réponse, je joint le nouveau fichier problématique.



Pièce jointe:
xls Copie de Classeur1_Mod.xls   [ Taille: 37.50 Ko - Téléchargements: 697 ]
Hors Ligne
Rapport   Haut 

Re: Ajuster automatiquement la hauteur d'une ligne fusionnée
#3
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 26-08-2009 14h39
Bonjour Guy,

Oui, le but du code que j'avais trouvé était justement d'agrandir la cellule en hauteur afin d'afficher le texte sur plusieurs lignes lorsque la largeur est dépassée.
Un retour à la ligne ne me pose aucun problème du moment tant que chaque "prestations" (ou gribouilli dans mon exemple ) reste dans une seule cellule.

Le problème que je rencontre est que lors du passage en revue de la largeur des lignes par rapport à la longueur du texte afin d'augmenter la hauteur si besoin, certaines "prestations" dont la longueur rentre tout a fait dans la cellule fusionnée vont quand même engendrer une augmentation de la hauteur...  ce qui rend la pagination plus que médiocre sur mon fichier personnel (que je ne peux vous fournir car il contient des données confidentielles).

La solution m'importe donc peu, tant que 1 prestation = 1 cellule fusionnée.

En revanche si vous trouvez une solution qui fonctionne, ne soyez pas avare en explications !!

Hors Ligne
Rapport   Haut 

Ajuster automatiquement la hauteur d'une ligne fusionnée
#4
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 26-08-2009 11h44
Bonjour,

Alors voilà un nouveau problème que j'ai à vous poser.

Je copie d'une feuille vers une autre des lignes de texte, sous forme de listing : une ligne = une "prestation".

Jusque là tout va bien.

Le truc c'est que dans la feuille source, le listing n'ayant pas besoin d'avoir une forme particulière, les lignes sont parfois assez longues.  En revanche sur la feuille finale la largeur est fixée par un nombre de cellules fusionnées que je ne peux pas modifier pour la bonne tenue de la pagination de toute la feuille.

J'ai donc trouvé ce petit bout de code que je place dans une boucle allant du début à la fin de la partie ou je liste les prestations et qui test chaque cellule afin de voir s'il faut ou non l'ajuster :


Sub AutoFitMergedCellRowHeight()

Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
 
 If ActiveCell.MergeCells Then
   With ActiveCell.MergeArea
     .WrapText = True 'enclenche le renvoi à la ligne automatique (modif fs)
     If .Rows.Count = 1 Then 'And .WrapText = True Then
       Application.ScreenUpdating = False
       CurrentRowHeight = .RowHeight
       ActiveCellWidth = ActiveCell.ColumnWidth
       For Each CurrCell In Selection
           MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
       Next
      .MergeCells = False
      .Cells(1).ColumnWidth = MergedCellRgWidth
      .EntireRow.AutoFit
       PossNewRowHeight = .RowHeight
      .Cells(1).ColumnWidth = ActiveCellWidth
      .MergeCells = True
      .RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, CurrentRowHeight, PossNewRowHeight)
     End If
   End With
 End If
 
End Sub


Le soucis que je rencontre est qu'il me réajuste parfois des lignes qui n'en ont pas besoin, et je me retrouve alors avec un paquet de ligne bien trop grandes qui désorganisent ma pagination en faisant déborder le texte de fin de page sur une deuxième page.

D'après un de mes amis ce serait un problème au niveau du test de la longueur des caractères, et de la taille de cellule...  Je vous avouerai que sur ce morceau de code j'ai un peu de mal à m'y retrouver et à comprendre ce qu'il se passe...

Je vous joins un petit fichier Excel de test pour vous donner une meilleure idée de la chose, sachant qu'évidemment la manipulation que j'essaye de vous exposer ne fonctionne pas dans cet exemple.... 
Le problème affiché par le débugeur me revient assez souvent et je ne sais pas comment y remédier à part en changeant de méthode de sélection de la cellule.  Dans ce cas là j'ai épuisé mon stock d'idées... 


Merci d'avance pour votre aide !



Pièce jointe:
xls Classeur1.xls   [ Taille: 33.50 Ko - Téléchargements: 664 ]
Hors Ligne
Rapport   Haut 

Re: Evolution d'un UseForm suivant le contenu d'un tableau
#5
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 26-08-2009 10h15
Bonjour !

Je suis désolé pour la non réponse au dernier message que vous m'avez laissé,  mais c'est en revenant feuilleter la discution quelques semaines plus tard que je me suis aperçu qu'il y'avait une deuxième page .......

Pour les soucis évoqués dans cette page, je me suis finalement débrouillé par moi même,  mais je vais quand même essayer de tenir compte de ces derniers commentaies afin de voir si je ne peux pas rendre la chose plus propre... 

Je clos le sujet quoi qu'il en soit,  et en poste un nouveau un peu plus haut !


Hors Ligne
Rapport   Haut 

Re: Evolution d'un UseForm suivant le contenu d'un tableau
#6
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 11-08-2009 21h07
Re-Bonsoir,

Effectivement je n'ai pas été forcément très clair concernant ma deuxième remarque.
En effet chaque Client "possède" sa propre Chargée de Relation. Le truc c'est que parfois elle s'échangent ponctuellement les Clients, donc même si elles restent l'interlocutrice personnelle d'un client, d'autres sont parfois amenées à les remplacer pour certaines affaires.

Je cherchait en fait à faire en sorte que la ComboBox affiche par défaut la Chargée de Relation indiquée dans la liste, et permette de choisir tout de même une autre personne dans le menu déroulant.

J'ai réalisé quelque chose qui marche, bien que je ne l'ai pas mis sur ce fichier, en suivant la forme suivante :

-la procédure compare la valeur de la ComboBox "Enseigne" avec la liste des clients. Lorsque Enseigne.Value = Range(xxxx).Value, alors la ComboBox affiche la chargée de la relation client désignée.

- ensuite c'est un entassement de "If" par rapport à un petit tableau regroupant les chargées de la Relation afin de comparer pour chacune si elle est l'Interlocutrice affichée dans la ComboBox. Si non, alors un AddItem ajoute son nom à la liste de la ComboBox.

C'est un procédé assez lourd en écriture et pas forcément très "optimisé" au niveau programation ^^, je voulais donc avoir votre vision de la chose afin de comparer les logiques et épurer mes lignes de code.


Voilà j'espère à nouveau ne pas avoir été trop confus dans mes explications ^^.

J'aurai aussi aimé savoir ou est ce que je peux trouver des explication sur les différentes propriété que vous utilisez tels que les .Rows, les .Count,  les .ListCount ....  Car visiblement leur bonne utilisation est une des cléf d'une programation efficace.

Bonne soirée !
Hors Ligne
Rapport   Haut 

Re: Evolution d'un UseForm suivant le contenu d'un tableau
#7
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 11-08-2009 18h12
Bonsoir,

Je reviens à la charge avec mon sujet, qui a légèrement évolué depuis hier soir. J'ai plutôt bien saisi les manipulations faites, les commentaires aidant bien.

Voilà, aujourd'hui où j'en suis : 

 - J'ai donc différents Clients, et pour chaque Client une page lui correspondant avec les différentes prestations proposées. Chaque prestation correspondant à une catégorie : Fournitures, Informatique, Alimentation ...
J'ai un petit cadre avec des CheckBox en relation avec ces prestations : CheckBox "Fournitures",  CheckBox "Informatique" ...
J'aimerai qu'en cochant et décochant ces CheckBox, la TextBox indiquant les prestation proposées au client évlue donc pour ne montrer que les prestations des catégories cochées.

Jusqu'à présent j'ai pu afficher différentes prestations pour différentes CheckBox cochées, mais jamais un cumul des prestations lorsque plusieurs CheckBox sont cochées en même temps.

- D'autre part, j'ai fait évoluer un peu aussi mon fichier au niveau de la ComboBox "Chargées de la Relation Client". Celle-ci, dans mon fichier perso, se rempli correctement, suivant le Client choisi, mais dans le fichier exemple ci-joint rien n'y apparait. La méthode que j'ai utilisée doit surement êtr perfectible, s'il vous est possible de m'éclairer un peu là dessus...


Voilà donc pour mes questions du jour ^^

J'espére ne pas vous donner l'impression de me reposer entièrement sur vous pour réaliser mon travail, je cherche le plus possible de mon coté mais ces quelques points bien spécifiques restent sans réponses dans les forums et tutoriels que j'ai pu visités.

Merci d'avance pour votre aide, et bonne soirée.


Pièce jointe:
xls PourDedechseb.xls   [ Taille: 69.50 Ko - Téléchargements: 435 ]
Hors Ligne
Rapport   Haut 

Re: Evolution d'un UseForm suivant le contenu d'un tableau
#8
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 11-08-2009 08h17
Bonjour,

Ca me parait super, et correspond tout à fait à ce que j'aimerai obtenir.

Je vais jetter un oeil au code afin de m'impregner de la logique du système, et essayer de continuer à avancer de mon côté.
Je pense que je vais tenir à jour mon fichir privé et cet exemple en parallèle, afin de pouvoir me retourner vers vous en cas de problème.

En tout cas merci pour le temps que vous m'avez accordé, je passe le sujet en [résolu] !

Bonne journée, et au plaisir
Hors Ligne
Rapport   Haut 

Re: Evolution d'un UseForm suivant le contenu d'un tableau
#9
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 10-08-2009 23h09
Re-à-nouveau ^^

Bon j'ai épuré mon fichier, en laissant la "feuille de saisie" originelle, mais en retirant toute donnée confidentielle.

Donc dans cet exemple plusieurs petites choses à dire:

-D'une part je ne sais pas pourquoi, mais le menu déroulant des clients qui marchait bien jusqu'à présent a décidé de ne plus afficher les noms... Il y'a le nombre de ligne nécessaire, mais plus les noms sur chaque ligne.

- D'autre part, je n'ai encore relié à rien tous les autres boutons, checkbox et autres zones de texte du Useform. je vais m'atteler à cela demain quand je serai en plus grande forme.

Il y'a donc juste le strict nécessaire pour réaliser ce que j'aimerai obtenir (non pas par flemme mais je ne savais pas trop quoi remplir).

-Il y'a donc deux pages : Client 1 et Client 2, contenant chacune un exemple de prestations (totalement bidons et sans réalité avec mon travail, mais j'étais en grand manque d'inspiration). Sur la page Client 2 vous remarquerez une petite variante, qui pourra être redivisé en deux lignes "feutre noirs" et "feutres rouges" si cela pose trop de problèmes.


Je conçois bien que pour un débutant, je m'attaque à très gros, mais je comprends très vite et suis très motivé pour mener à bien au plus vite ce projet qui permettra à mon équipe de travailler bien plus rapidemment ensuite.

Voilà je vais vous quitter là pour aujourd'hui, si vous jettez un oeil à ce document ce soir, je répondrai à toute interrogation dès demain matin au cas où vous auriez besoin de précisions.

D'avance merci pour le temps que vous m'accorderez !

Bonne fin de soirée.



Pièce jointe:
xls Saisie Bon de Commande.xls   [ Taille: 56.50 Ko - Téléchargements: 513 ]
Hors Ligne
Rapport   Haut 

Re: Evolution d'un UseForm suivant le contenu d'un tableau
#10
Débutant XLPages

Inscription: 10/08/2009

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 10-08-2009 22h13
Re-Bonsoir ,

En fait je n'ai pas joint le fichier car il peut contenir certaines données confidentielles. En revanche je peux peut-être monter un autre fichier "exemple" avec  des données bidons afin que vous m'expliquiez la démarche sur celui-ci ?

Dans ce cas le temps que je le crée, je le déposerai d'ici une petite heure.
Hors Ligne
Rapport   Haut 

1 2 »