Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1791 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel : ajuster hauteur de la celulle par VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel : ajuster hauteur de la celulle par VBA

n°1887735
scaryfan
Apple Inside
Posté le 25-05-2009 à 16:37:37  profilanswer
 

:hello:  
 
Salut à tous !
 
Voici mon problème :
j'ai un classeur Excel avec 5 colonnes.
la cellule en A1 est fusionnée avec B1, C1, D1.
le format de cette cellule est :
  gauche
  justifiée
  renvoyer à la ligne automatiquement
 
Mon souci est que lorsque je saisis un texte très long, il devrait aller à la ligne de lui-même et la taille de la ligne s'ajuster automatiquement.
Mais ça ne le fait pas et on ne voit pas tout le texte.
Bref, comme j'ai pas mal de lignes dans ce cas dans mon tableau, je pensais créer une procédure passant en revue chaque ligne du tableau et ajuster automatiquement.
 
Quelqu'un peut-il m'aider sachant que j'ai essayer ça :
 

Code :
  1. Range("A65536" ).Select
  2. Do
  3.    If ActiveCell.value <> "" Then
  4.       Selection.Entirerow.Autofit
  5.    End If
  6.    ActiveCell.Offset(-1,0).Select
  7. Loop Until ActiveCell.Row = 1
  8. If ActiveCell.value <> "" Then
  9.    Selection.Entirerow.Autofit
  10. End If


 
Merci pour votre aide !
 
;)


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
mood
Publicité
Posté le 25-05-2009 à 16:37:37  profilanswer
 

n°1887783
Ctplm
Posté le 25-05-2009 à 20:47:22  profilanswer
 


Hi,
 
Je ne comprends pas trop pourquoi parcourir l'intégralité des lignes, et je ne vois pas trop non plus l'intérêt du .offset ?
Est-ce que tu souhaites que ton texte aille à la ligne, ou bien que la taille de la cellule s'adapte au texte.. ?
 
En attendant, un premier essai :
 

Code :
  1. Dim a As Integer
  2. Sub MiseEnForme()
  3. 'On définit le nombre de lignes réellement utilisées
  4. Sheet1.Select
  5. nbrligne = Sheet1.Range("A65536" ).End(xlUp).Row
  6. 'Puis on les parcourt
  7. For a = 1 To nbrligne
  8. If Sheet1.Range("A" & a).Value <> "" Then
  9.       Sheet1.Range("A" & a).Select
  10.       'WrapText pour renvoyer le texte à la ligne
  11.       Selection.WrapText = True
  12.       'Ou bien Autofit pour adapter la taille des cellules
  13.       'Selection.EntireColumn.AutoFit
  14.       'Selection.EntireRow.AutoFit
  15. End If
  16. Next a
  17. End Sub


 
 :hello:  
 


---------------
"That kind of information doesn't just grow on trees."
n°1887789
Ctplm
Posté le 25-05-2009 à 21:15:01  profilanswer
 


Autant pour moi pour le Offset, j'avais cru lire que tu ne voulais ajuster que les lignes de ta colonne A.
 
Deuxième essai :
 
 

Code :
  1. Dim a, nbrligne As Integer
  2. Sub MiseEnForme()
  3. 'On définit le nombre de lignes réellement utilisées
  4. Sheet1.Select
  5. nbrligne = Sheet1.Range("A65536" ).End(xlUp).Row
  6. 'Puis on les parcourt
  7. For a = 1 To nbrligne
  8. 'Pour chaque ligne on parcourt les cinq premières colonnes
  9. For b = 1 To 5
  10. 'Ici on renvoie le texte à la ligne
  11. If Sheet1.Cells(a, b).Value <> "" Then
  12.       Sheet1.Cells(a, b).Select
  13.       Selection.WrapText = True
  14. End If
  15. Next b
  16. Next a
  17. End Sub



---------------
"That kind of information doesn't just grow on trees."
n°1888061
scaryfan
Apple Inside
Posté le 26-05-2009 à 15:04:42  profilanswer
 

:hello:  
 
Désolé mais je ne me suis pas bien exprimé...
Chaque cellule de la colonne 1 est fusionnée avec les 4 colonnes suivantes.
Et j'écris du texte dans chaque cellule qui peut être long...
 
Bref, j'ai découvert que des cellules fusionnées ne peuvent pas renvoyer à la ligne automatiquement... (limite Excel ou alors non développé par MS).
 
Finalement, j'ai fait autrement...
 
Je parcours chaque ligne, défusionne la cellule en colonne 1, définis la taille de cette cellule de la largeur de la somme des 5 colonnes, fais un Autofit (la cellule s'épaissit !), j'enregistre dans une mémoire la taille de la ligne, refusionne les 5 colonnes et redéfinit la taille de la ligne grâce à la mémoire...
 
ça marche nickel chrome...
 
 :sol:


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel : ajuster hauteur de la celulle par VBA

 

Sujets relatifs
Recherche dans tableau multi dimension ExcelSauvegarde sous VBA ACCESS
Création d'un test sur PowerPoint avec VBA[VBA] Lire la propriété Interior.Color d'une cellule
mettre des valeurs booléennes vba excelRegrouper des fichiers excel en un seul par bouton vba
Sauvegarder un seul onglet (VBA) ExcelAquerir dans Excel des données venant de fichiers txt
Jasper Reporting Excel 
Plus de sujets relatifs à : Excel : ajuster hauteur de la celulle par VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR