Ajustement auto. hauteur et largeur cellule, f(contenu dynamiq.)

Résolu/Fermé
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 - 13 déc. 2017 à 13:09
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 - 13 déc. 2017 à 16:37
Bonjour,

Tout d'abord désolé pour le format du titre, j'ai essayé de faire au mieux pour que ma problématique soit présente.

Ma problématique la voici clairement:
J'ai une cellule (appelons là Z1) avec une formule du type:
=&A1&A2&A3&A4&A5&............

En sachant que les cellules sources ont une formule du type:
pour A1=si(B1<>"";B1;"") afin de faire apparaître un contenu en A1 uniquement si la condition en B1 est remplie.

Et la question:
Et ce que j'aimerai c'est paramétrer la cellule Z1 pour que la largeur de la colonne et la hauteur de la ligne s'ajuste en fonction que ce qu'il va si afficher au fur et à mesure que je saisisse le contenu de B1, B2, B3,B3...

Ai-je été clair?

Merci à vous, je sèche et j'ai pas trouvé de solution adéquate dans d'autre topic du même nom.

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié le 13 déc. 2017 à 14:21
Bonjour
alors peut être comme ça, pour activer l'action de B2 à B20 (à adapter)
clic droit sur l'onglet, "visualiser le coe"
et coller ça (toutes les lignes, celles qui débutent pas l'apostrophe _ à conserver _sont des lignes d'info.

Private Sub Worksheet_Change(ByVal Target As Range)

'définition du champ acrif d'entrée des valeurs
If Target.Column = 2 and Target.Row>1 and Target.Row<21 Then

'sélection de la colonne à calibrer
Columns("Z:Z").Select
Selection.Columns.AutoFit
End If

'retour à la cellule début du champ d'entrée
Range("B2").Select
End Sub



(qui raméne à la cellule B2 en fin d'action)

crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
1
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 1
13 déc. 2017 à 15:39
Bonjour,

Je vois comment fonctionne cette macro et j'apprécie la façon dont vous raisonnez.

En fait j'ai un peu simplifié le problème:
La target qui doit ciblé la zone d'entrée de valeur c'est les cellules FM4 à NB201
Et la zone de colonnes à calibrer c'est FC à FL

Du coup je peux facilement remplacer:
'sélection de la colonne à calibrer 
Columns("Z:Z").Select

par:
'sélection de la colonne à calibrer 
Columns("FC:FL").Select


Mais je ne trouve pas la façon dont ré-écrire:
'définition du champ acrif d'entrée des valeurs 
If Target.Column = 2 and Target.Row>1 and Target.Row<21 Then


De plus, ça risque d'être trèèèèèèès long à traiter dès qu'il y aura une saisie. Non?

Merci encore
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié le 13 déc. 2017 à 15:55
Temps de traitement: c'est à tester, mais dans mon exemple, c'est instantané car en fait ça ne prend en compte qu'une cellule sollicitée à la fois
sur tout le champ, il est possible que ça ne soit pas plus long

pour la ligne de target:
  • colonne FM= colonne 169
  • colonne NB= colonne 366
  • ligne 4 à ligne 201


définition du champ actif:

=If Target.column>168 and Target.Column<367 and Target.Row>3 and Target.row<202 Then

et bien sur choisissez dans la dernière ligne (range) la cellule de fin.
(si l'écriture est correcte, VBA mettra les majuscules aux bons endroits)

crdlmnt
0
SpcCwb Messages postés 65 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 26 novembre 2020 1
Modifié le 13 déc. 2017 à 16:38
Top.

Ça à l'air de fonctionné plutôt bien!..

Finalement je m'y retrouve plus en faisant un:
Rows("3:201").Select 
Selection.Rows.AutoFit
End If


Mais ça marche impeccablement bien! un très très grand merci!

Très bonne continuation,

Cordialement
0