IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Ajuster hauteur de ligne / avec colonnes fusionnées [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut Ajuster hauteur de ligne / avec colonnes fusionnées
    Bonjour le Forum,

    Je cherche ajuster la hauteur des cellules remplies de texte.

    A chaque fois, il y a sept colonnes fusionnées
    J'ai bricolé cela mais rien de concret ...

    J'ai du oublier un truc ....



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

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    With ActiveSheet.UsedRange
        .ColumnWidth = 200
        .Cells.EntireRow.AutoFit
        .Cells.EntireColumn.AutoFit
     End With
    End Sub

  3. #3
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut
    Hello Rudupt,

    heuuuuu avec ton code came fait agrandir en longeur les cellules
    C'est rigolo mais bof ....lol

  4. #4
    Invité
    Invité(e)
    Par défaut
    le problème c'est que les lignes ne peuvent pas ce réduire si le texte fait des retour ligne!

    mais au moins ça marche?

  5. #5
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut
    Oui ca marche.
    Je comprends le pb du retour à la ligne.
    Du coup, serait-ce possible de forcer le retour à la retour à la ligne ?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Et pourquoi pas une seule colonne de 560 pixels ?
    Sur cet exemple la fusion ne sert à rien.

    Sinon une proposition avec une feuille intermédiaire tmp ayant la colonne A à 560 pixels :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub hauteur()
        Dim lig As Long, lig2 As Long
        Dim h As Long, pl As Range
        For lig = 11 To Cells(Rows.Count, 1).End(xlUp).Row
            If Cells(lig, 1).MergeCells Then
                With Sheets("tmp").[A1]
                    .Value = Cells(lig, 1).Value
                    .Font.Name = Cells(lig, 1).Font.Name
                    .Font.Size = Cells(lig, 1).Font.Size
                    .Font.FontStyle = Cells(lig, 1).Font.FontStyle
                    .EntireRow.AutoFit
                    h = .Height
                End With
                Set pl = Cells(lig, 1).MergeArea
                For lig2 = 1 To pl.Rows.Count
                    pl.Rows(lig2).RowHeight = h / pl.Rows.Count
                Next lig2
                lig = lig + pl.Rows.Count - 1
            End If
        Next lig
    End Sub
    Reste à voir les pb d'arrondi pour les fusions multi-lignes (à cumuler sur 1 ligne ?), plus les approximations d'excel qui met une première ligne vide parfois sur EntireRow.AutoFit.

    PS: je n'ai pas tenu compte des fusions qui ne faisaient que 4 colonnes, non annoncé et vu ensuite.

    eric
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 03/09/2013, 13h31
  2. Ajuster automatiquement la hauteur de ligne d'une cellule fusionné
    Par xvrpetit dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/08/2013, 08h29
  3. Pb masquage ligne avec cellules fusionnées
    Par mike76 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/04/2013, 13h25
  4. Ajuster Hauteur des lignes Javascript > Css
    Par islogged dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/09/2012, 13h16
  5. Macro VBA pour mettre colonne en ligne avec cellule fusionnée
    Par dany13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/01/2008, 06h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo