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 :

Autofit d'une ligne selon une cellule particulière [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Par défaut Autofit d'une ligne selon une cellule particulière
    Bonjour à tous !

    Je cherche en vain à faire un autofit restreint, je m'explique :

    lorsqu'on fait un autofit sur une ligne, excel choisit d'agrandir ou de diminuer la ligne concernée en fonction de la cellule la plus grande.

    Je souhaiterait faire un autofit de la ligne mais uniquement d'après la hauteur nécessaire pour une cellule en particulier, avez vous une idée "propre" pour faire cela ?

    Merci d'avance pour toutes vos idées/suggestions !!

    Cordialement

    N.B.
    J'ai bien une idée qui consiste à faire un copier coller de la cellule en question sur une nouvelle feuille, faire un autofit, récupérer la hauteur de ligne et la renvoyer dans la ligne d'origine mais non seulement ce n'est pas propre mais en plus c'est long quand il y a beaucoup de lignes !

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    une idée :

    - compter le nombre de retours à la ligne de la cellule souhaitée
    - y appliquer un coefficient de 15, qui est la taille standard d'une cellule ne contenant qu'une ligne de texte


    dans cet exemple, c'est la cellule A1 qui donnera la taille à appliquer à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub toto()
    Dim feuille As Worksheet, ligne As Range
    Set feuille = ThisWorkbook.Worksheets(1)
    Set ligne = feuille.Rows(1)
     
    ligne.RowHeight = (UBound(Split(Cells(1, 1), vbLf)) + 1) * 15
     
    End Sub

  3. #3
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 522
    Par défaut
    Salut
    ce n'est pas propre mais en plus c'est long quand il y a beaucoup de lignes !
    Tu ne dois faire l'opération qu'une fois si je ne m'abuse, ensuite c'est la colonne qui prends la largeur de la cellule

  4. #4
    Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Par défaut
    Citation Envoyé par Valtrase Voir le message
    Salut

    Tu ne dois faire l'opération qu'une fois si je ne m'abuse, ensuite c'est la colonne qui prends la largeur de la cellule

    Disons que il faut copier toute la colonne concernée en conservant sa largeur et ensuite parcourir les cellules une à une en enregistrant la hauteur puis ensuite réappliquer celles ci une à une également.
    Pas impossible bien sûr mais si il y a mieux et ben... c'est mieux

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour,

    une idée :

    - compter le nombre de retours à la ligne de la cellule souhaitée
    - y appliquer un coefficient de 15, qui est la taille standard d'une cellule ne contenant qu'une ligne de texte


    dans cet exemple, c'est la cellule A1 qui donnera la taille à appliquer à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub toto()
    Dim feuille As Worksheet, ligne As Range
    Set feuille = ThisWorkbook.Worksheets(1)
    Set ligne = feuille.Rows(1)
     
    ligne.RowHeight = (UBound(Split(Cells(1, 1), vbLf)) + 1) * 15
     
    End Sub
    Excellent, effectivement en écriture avec une police de 12 ca marche très bien ! Merci beaucoup !
    Cela me permet même de répondre à une interrogation que je me posais pour prendre la plus grande hauteur de deux cellules parmi toute la ligne.

    Étonnant que ça n'existe pas comme argument de la fonction autofit, faut que j'écrive à Microsoft

    Merci encore

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/03/2018, 15h17
  2. Double click Item ListView: accéder à une cellule particulière.
    Par c.piette dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/08/2016, 09h44
  3. Réponses: 8
    Dernier message: 24/04/2014, 22h10
  4. Colorer une cellule particulière d'un TDrawGrid
    Par colorid dans le forum Langage
    Réponses: 3
    Dernier message: 24/10/2009, 00h47
  5. Couleur du texte d'une cellule particulière
    Par $p00ky dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 08/07/2009, 16h24

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