Ajustement auto. hauteur et largeur cellule, f(contenu dynamiq.) [Résolu/Fermé]

Signaler
Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
-
Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
-
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

Messages postés
25266
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
13 septembre 2020
5 452
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60592 internautes nous ont dit merci ce mois-ci

Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
1
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
Messages postés
25266
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
13 septembre 2020
5 452
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
Messages postés
63
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
23 avril 2020
1
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