Ajustement automatique hauteur ligne formules excel

Fermé
antrans Messages postés 4 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 11 août 2016 - 11 août 2016 à 16:26
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 - 11 août 2016 à 17:50
Bonjour,
Voici mon souci, j'utilise Office 2010. J'ai disons un tableau de saisie sur un 1er onglet, et sur un second onglet, un autre tableau qui utilise beaucoup de formules à partir des données du tableau de saisie.

Dans une cellule de mon tableau de saisie, je saisie soit 1, soit 2 voir 3 lignes de textes (séparé par ALT + ENTRER pour passer à la ligne suivante). Pour cette cellule, la hauteur des lignes est ajustée automatiquement en fonction du nombre de lignes que je saisie.
J'ai donc paramétré pour cette cellule, le renvoi auto des lignes + ajustement présent dans Format/Alignement).

Dans mon second onglet, j'ai une cellule qui contient la formule ='ONGLET1!CELLULE, afin d'afficher exactement le même contenu que la cellule saisie sur le premier onglet. Le paramétrage est exactement le même que la cellule du 1er onglet soit renvoi auto des lignes + ajustement.
C'est là que le problème se pose, si je change le nombre de ligne de ma 1ère cellule, l’ajustement de la hauteur de ligne se fait bien pour cette cellule, mais pas pour celle qui contient la formule. Je suis obligé de sélectionner la cellule et de cliquer deux fois sur n'importe quel paramètre de l’alignement. (exemple : je désélectionne le renvoi auto et je le sélectionne à nouveau, là, l'ajustement se fait bien).
Je voudrais ne pas à avoir à faire cette manipulation (les formules sont elles bien recalculés automatiquement OPTION/FORMULES/MODE DE CALCUL/AUTO).

Merci d'avance.
A voir également:

7 réponses

Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié par Mike-31 le 11/08/2016 à 17:17
Re,

autrement en VBA tu peux paramétrer ton code de façon définitive, si par exemple il s'agit de ta feuille nommée Feuil2 et tes données qui conditionnent la hauteur de ligne est colonne A
il suffit de faire un clic droit sur l'onglet de cette feuille/Visualiser le code et coller ce code
Private Sub Worksheet_Activate()
On Error Resume Next
For Each cel In Range("A:A") 'conditionne une plage
If cel <> "" Then
Set m = cel.MergeArea
m.UnMerge
m.WrapText = True 'renvoie à la ligne
m.HorizontalAlignment = xlCenterAcrossSelection
m.Rows.AutoFit
m.Merge
m.HorizontalAlignment = xlGeneral 'facultatif bien sûr
End If
Next
End Sub


il suffit simplement d'adapter l'index colonne que j'ai mis en gras Range("A:A")
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 210
11 août 2016 à 17:35
Bonjour, bonjour Mike,

Pourquoi tu tiens compte des fusions ?
Private Sub Worksheet_Activate()
    Rows.AutoFit
End Sub

ne suffit pas ?
eric
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié par Mike-31 le 11/08/2016 à 17:45
Salut Eriiic,

pour traiter tous les cas de figure qui pourrait se présenter en tenant compte du post 2 du demandeur
et prévoir le retour ligne s'il n'a pas été programmé
mais effectivement Rows.AutoFit suffit
cordialement
0