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 la hauteur de ligne [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur acousticien
    Inscrit en
    Septembre 2015
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur acousticien
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2015
    Messages : 122
    Par défaut Ajuster la hauteur de ligne
    Bonjour à tous,

    Lorsque je fais "Ajuster la hauteur de ligne" sur une (ou plusieurs) cellule(s), la hauteur reste plus grande que le texte à l'intérieur.
    Je souhaiterais que la hauteur de la cellule s'adapte au nombre de lignes de texte à l'intérieur, je ne comprends pas pourquoi ça ne marche pas (les cellules ne sont pas fusionnées).

    Je n'arrive même pas à le forcer en VBA, quelque chose m'échappe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub ajust()
     
    Range("F13:F33").Select
    With Selection
        .WrapText = True
        .ShrinkToFit = True
    End With
     
    End Sub
    Auriez-vous des pistes ?

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Rows.AutoFit ou Selection.RowHeight = 10

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur acousticien
    Inscrit en
    Septembre 2015
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur acousticien
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2015
    Messages : 122
    Par défaut
    Bonjour kiki29 et merci pour ta réponse rapide.

    Je souhaite adapter la hauteur de chaque ligne au texte contenu dans les cellules correspondantes. Donc toutes les lignes ne devront pas avoir la même hauteur, d’où la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.RowHeight = 10
    ne me convient pas.

    De plus, ne fonctionne pas, il m'ajuste toutes mes lignes à la même hauteur (qui correspond aux cellules les plus grandes ou il y a le plus de texte).

    Y-aurait-il d'autres moyens ?

    Merci d'avance.

  4. #4
    Membre averti
    Homme Profil pro
    Conseiller Technique Logiciel
    Inscrit en
    Juin 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Conseiller Technique Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 32
    Par défaut
    Bonsoir,

    Je n'ai pas forcément bien compris la demande, cependant tu appliques ton code à une sélection de lignes, il me parait donc logique que l'ensemble de ces lignes soient ajustée à la même hauteur.

    Il faudrait selon moi appliquer l'ajustement à chaque ligne, individuellement, pour que chacune possède sa propre hauteur ajustée.

    Cordialement.

  5. #5
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    Citation Envoyé par flav_cm Voir le message
    ne fonctionne pas, il m'ajuste toutes mes lignes à la même hauteur (qui correspond aux cellules les plus grandes ou il y a le plus de texte).

    Selection.Rows.AutoFit ne fait pas ça normalement. Il ajuste chaque ligne indépendamment des autres lignes.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur acousticien
    Inscrit en
    Septembre 2015
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur acousticien
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2015
    Messages : 122
    Par défaut
    Citation Envoyé par X5-495 Voir le message
    Il faudrait selon moi appliquer l'ajustement à chaque ligne, individuellement, pour que chacune possède sa propre hauteur ajustée.
    Bonjour X5-495 et merci pour ta réponse. Toutefois, même quand j'effectue l'instruction ligne par ligne ça ne fonctionne pas.

    De plus, même lorsque je me mets manuellement sur une ligne et que je fais "ajuster la hauteur de ligne", celle-ci reste plus grande que le texte contenu dans les cellules. Cette option permet-elle seulement d'augmenter la hauteur de ligne (sans pouvoir la diminuer) ?

  7. #7
    Membre averti
    Homme Profil pro
    Conseiller Technique Logiciel
    Inscrit en
    Juin 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Conseiller Technique Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 32
    Par défaut
    Bonsoir,

    As-tu des cellules avec des renvois à la ligne ?

    N'y-t-a-il pas des retours à la ligne "masqué" ?

    Cordialement.

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur acousticien
    Inscrit en
    Septembre 2015
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur acousticien
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2015
    Messages : 122
    Par défaut
    As-tu des cellules avec des renvois à la ligne ?
    Oui certaines de mes colonnes ont un renvoi à la ligne automatique. Étant donné que je veux écrire du texte plus ou moins long dans les cellules, j'aimerais que le texte aille à la ligne quand il dépasse la largeur de la cellule et que la hauteur de la cellule s'adapte au nombre de lignes présentes dans la cellule.

    N'y-t-a-il pas des retours à la ligne "masqué" ?
    Je suis sur qu'il n'y en a pas. En effet, j'ai un "tableau" (pas au sens VBA, juste un groupement de 6 lignes sur 8 colonnes qu'on appellera bloc1) dans lequel j'ai un retour à la ligne automatique et un ajustement automatique de la hauteur de ligne. Tout cela fonctionne très bien. Malheureusement ensuite, lorsque j’insère des 6 lignes sous ce bloc1 et que j'en copie la forme (pour avoir un bloc2), l'ajustement automatique de hauteur de ligne ne fonctionne plus (hauteur bloquée à 24 et même quand je me mets sur la ligne et que je reclique sur ajuster la hauteur de ligne ça ne fonctionne pas).

    Voila j'espère que c'est un peu plus clair.

    Merci d'avance.

  9. #9
    Membre averti
    Homme Profil pro
    Conseiller Technique Logiciel
    Inscrit en
    Juin 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Conseiller Technique Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 32
    Par défaut
    Bonsoir,

    C'est plus clair en effet.

    Il faudrait que je teste de mon côté.

    Cordialement.

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur acousticien
    Inscrit en
    Septembre 2015
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur acousticien
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2015
    Messages : 122
    Par défaut
    Bonjour X5-495 et merci pour l’intérêt porté à ma question.

    Je me permets d'ajouter encore quelques informations à mon problème dans l'espoir de pouvoir en trouver la solution :

    - le code utilisé pour insérer les lignes et copier la mise en forme (et insérer mon numéro de référence de ma ligne) est le suivant :
    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
    22
    23
    24
     
    If i <> 1 And existe_deja = False Then
                ' Insertion des 7 nouvelles lignes :
                Rows(4 + i * nb_lig).Insert 'commence dès f=2, il faut alors insérer avant la 16eme ligne
                Cells(4 + i * nb_lig, 3) = "1.1." & (i) * nb_lig
                Rows(4 + i * nb_lig).Insert
                Cells(4 + i * nb_lig, 3) = "1.1." & (i) * nb_lig - 1
                Rows(4 + i * nb_lig).Insert
                Cells(4 + i * nb_lig, 3) = "1.1." & (i) * nb_lig - 2
                Rows(4 + i * nb_lig).Insert
                Cells(4 + i * nb_lig, 3) = "1.1." & (i) * nb_lig - 3
                Rows(4 + i * nb_lig).Insert
                Cells(4 + i * nb_lig, 3) = "1.1." & (i) * nb_lig - 4
                Rows(4 + i * nb_lig).Insert
                Cells(4 + i * nb_lig, 3) = "1.1." & (i) * nb_lig - 5
                'Copie de la forme du tableau :
                Range(Cells(10, 4), Cells(15, 11)).Select
                Selection.Copy
                Cells(4 + i * nb_lig, 4).Select
                Selection.PasteSpecial Paste:=xlPasteFormats
                Application.CutCopyMode = False
                'Positionnement de la Position_courante :
                Set Position_courante = Cells(4 + i * nb_lig, 4)
            End If ' i <> 1
    - lorsque je supprime plusieurs lignes du texte dans une de mes cellule du bloc1, la hauteur de la cellule s'ajuste automatiquement (elle diminue). Or dans les blocs suivants, impossible d'ajuster la hauteur de ligne que ce soit en augmentant ou en diminuant le contenu (même en redemandant l'ajustement automatique)...

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur acousticien
    Inscrit en
    Septembre 2015
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur acousticien
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2015
    Messages : 122
    Par défaut
    Je me permets de relancer cette discussion.

    Personne n'a déjà rencontré ce problème de mauvais ajustement de hauteur de ligne ?

    Merci d'avance pour votre attention.

  12. #12
    Membre averti
    Homme Profil pro
    Conseiller Technique Logiciel
    Inscrit en
    Juin 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Conseiller Technique Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 32
    Par défaut
    Bonsoir,

    Comme dit, j'ai regardé d'un peu plus près.

    Cela semble en effet fonctionner, mais il ne faut pas modifier ensuite les hauteurs de lignes, ou la largeur des colonnes, car après cela fonctionne moins bien.

    Je ne peux pas aider davantage malheureusement ne comprenant à mon tour pas tout ce qu'il se passe.

    Cordialement.

  13. #13
    Membre confirmé
    Homme Profil pro
    Ingénieur acousticien
    Inscrit en
    Septembre 2015
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur acousticien
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2015
    Messages : 122
    Par défaut
    Je reviens pour (enfin!) clôturer ce sujet...

    J'ai trouvé par hasard la solution : une cellule par ligne contient une référence de ligne (1.1.1 jusqu'à 1.1.20 par exemple). Lorsque la référence contenait plus de 4 chiffres, alors la hauteur de la ligne s'agrandissait (à partir de 1.1.10 donc!). Problème réglé en mettant la police de cette référence à une taille 7 au lieu de 11, l'ajustement automatique de ligne fonctionne à nouveau comme je le souhaite.

    Merci en tout cas pour vos contributions !

  14. #14
    Invité de passage
    Homme Profil pro
    Ingenieur CVC
    Inscrit en
    Août 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Swaziland

    Informations professionnelles :
    Activité : Ingenieur CVC
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2020
    Messages : 1
    Par défaut
    Citation Envoyé par flav_cm Voir le message
    Je reviens pour (enfin!) clôturer ce sujet...

    J'ai trouvé par hasard la solution : une cellule par ligne contient une référence de ligne (1.1.1 jusqu'à 1.1.20 par exemple). Lorsque la référence contenait plus de 4 chiffres, alors la hauteur de la ligne s'agrandissait (à partir de 1.1.10 donc!). Problème réglé en mettant la police de cette référence à une taille 7 au lieu de 11, l'ajustement automatique de ligne fonctionne à nouveau comme je le souhaite.

    Merci en tout cas pour vos contributions !
    Bonjour

    J'ai EXACTEMENT le même soucis! En descendant d'une taille la police des cellules concernées la taille de la ligne s'ajuste parfaitement, mais je souhaite conserver la taille de police 11.

    Je n'ai pas compris la solution et les "références de ligne", pouvez vous preciser SVP?

    Merci d'avance!

    Cyril

+ 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. [XL-2007] Auto ajustement de hauteur de ligne incorrect
    Par EmmanuelleC dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/06/2011, 22h48
  4. [XL-2007] Ajuster la hauteur de ligne
    Par manuseverine dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/02/2010, 14h21
  5. Ajuster la hauteur d'une ligne
    Par progpro dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/09/2007, 07h53

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