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 :

Changer la largeur de colonnes par vba (excel 97)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut Changer la largeur de colonnes par vba (excel 97)
    Bonjour

    J'ai un problème pour fixer la largeur de colonnes dans Excel 97.

    Je veux fixer cette largeur en fonction de valeurs entrées en mm dans la feuille.

    Il existe deux valeurs pour la largeur Width et ColumnWidth

    Ces deux valeurs sont différentes et pas proportionnelles.

    Width semble par contre proportionnel à la largeur réelle qui sera imprimé alors que ColumnWith ne l'est pas.

    Or je ne peux modifier que ColumnWith, mais j'obtiens des colonnes non conformes à ce que je souhaite (de peu mais c'est génant).

    Quelqu'un a-t-il une piste pour modifier la largeur Width

    Merci de votre aide

    Jean

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par L'aide
    Propriété Width telle qu'elle s'applique à l'objet Range.

    Largeur de la plage. Type de données Variant en lecture seule.
    A priori je vois cette possibilité : Ajouter systématiquement un chouilla à toutes tes largeurs de colonnes
    Tu peux mesurer l'écart entre la largeur de colonne auto et la largeur de colonne adapté manuellement. Il ne te restera plus alors qu'à ajouter cet écart.
    A défaut d'une autre solution plus sioux...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Bonsoir

    J'avais effectivement vu dans l'aide que cette valeur était en lecture seule, mais je pensais (espérais!!) qu'il y avait une astuce, une ruse pour contourner le pb.

    Mais je crois avoir trouvé une solution, que je vais tester, et renvoyer si elle marche.

    Merci pour ton aide

    Jean

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Bonjour

    Je mets en ligne la solution que j'ai trouvé

    L'itération est nécessaire car columnwidth et largeur réelle ne sont pas proportionnelles




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function FixeLargeur(NumColonne, Largeur) ' Largeur en mm
            While Abs(Largeur - Cells(1, NumColonne).Width) > 1
                Cells(1, NumColonne).ColumnWidth = Cells(1, NumColonne).ColumnWidth / Cells(1, NumColonne).Width * Largeur
            Wend
    End Function

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Joli !

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

Discussions similaires

  1. [XL-2013] Modifier largeur plusieurs colonnes par vba sur toutes les feuilles d'un classer=ur
    Par bidochon34800 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/02/2015, 08h36
  2. Changer les droits d'accès par VBA
    Par electrosat03 dans le forum Sécurité
    Réponses: 2
    Dernier message: 20/12/2006, 15h26
  3. Création de label par VBA (excel)
    Par WagaSeb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2006, 14h46
  4. Fixer la largeur des colonnes par prog ?
    Par marot_r dans le forum Access
    Réponses: 5
    Dernier message: 28/07/2006, 16h50
  5. flexGrid: largeur de colonne par defaut!!
    Par Terminator dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/10/2005, 12h44

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