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

Excel Discussion :

Couleur de cellule si hauteur de ligne > 40


Sujet :

Excel

  1. #1
    Membre régulier
    Femme Profil pro
    Technicienne
    Inscrit en
    Mai 2013
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 96
    Points : 89
    Points
    89
    Par défaut Couleur de cellule si hauteur de ligne > 40
    Bonjour

    Je voudrais que la cellule qui contient du texte non visible à cause de la hauteur de ligne que je mets à 40 soit de couleur.
    J'ai un bout de code que je mets dans le Workbook_BeforeSave
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     
     ActiveSheet.Select
         If ActiveCell.Rows > 40 Then
            Selection.Interior.ColorIndex = 36
            Else
            Selection.Interior.ColorIndex = 0 'xlNone
        End If
     
     End Sub
    Le résultat ne donne pas ce que je veux.
    Il met en couleur l'endroit où se trouve le curseur même si tout le texte est affiché quand le fichier est enregistré . De plus, lorsqu'il y a modification de la cellule et que tout le texte s'affiche lors de l'enregistrement du fichier la couleur est toujours là à l'ouverture du fichier. Je joins mon fichier de travail

    Si vous avez des suggestions votre aide serait bien appréciée.

    Merci à l'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    Je ne comprends pas bien ce que tu veux faire :

    Tu veux que ta cellule se colorie quand la hauteur de la cellule ne permet pas de voir tout le texte qu'elle contient ?
    Si c'est bien la cas ta macro (d'après mes connaissances VBA) ne fait pas ça du tout, elle regarde si la cellule active est positionnée en ligne 40 ou plus et la colore dans ce cas, pas de rapport avec la taille de la cellule.

    Peux-tu ré-expliquer le besoin ?

    J'ai l'impression que tu aimerais au moment de la sauvegarde de ton fichier, vérifier s'il y a des cellules qui contiennent du texte qui en se voit pas (car cellule trop petite) et les mettre en couleur dans ce cas, est-ce bien ça ?

  3. #3
    Membre régulier
    Femme Profil pro
    Technicienne
    Inscrit en
    Mai 2013
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 96
    Points : 89
    Points
    89
    Par défaut Précision EXCEL 2010 - vba colorie si hauteur de la cellule ne permet pas de voir tout le texte
    Bonjour LG-69,

    C'est ce que je veux : que la cellule se colorie quand la hauteur de la cellule ne permet pas de voir tout le texte qu'elle contient. Juste la cellule pas la ligne.

    Je sais que mon code VBA a ne fait pas ça. Je ne sais pas comment faire, je ne suis pas très habile en VBA, je vous remercie à l'avance si vous pouvez me venir en aide.

    Bonne journée

    LiseUEMPT

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par LiseUEMPT Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         If ActiveCell.Rows > 40 Then
    Le résultat ne donne pas ce que je veux.
    ActiveCells.Rows représente la collection de toute les ligne de ActiveCells, c'est-à-dire, vraisemblablement la ligne courrante.
    Ca n'a aucun rapport avec les auteurs de lignes.

    Je suppose que si on le compare à un nombre comme 40, il renvoie la valeur contenu dans sa première cellule, ce qui ne semble pas être ce que tu souhaites.

    Si ce que tu veux savoir est la hauteurs occupée par le texte à l'intérieur de la cellule pour savoir si ça dépasse la taille de la cellule, je crains que ce soit quasiment impossible.

    La seule solution que je vois, c'est, sur chaque ligne, d'appliquer la méthode AutoFit , de regarder si la taille obtenue est supérieure à 40 et si c'est le cas, de modifier la couleur, sans oublier, après, de remettre la hauteur de ligne à 40.

    Mais je n'ai pas compris pourquoi tu utilise l'évènement BeforeSave pour le déclencher.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

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. Réponses: 12
    Dernier message: 30/12/2010, 14h30
  4. Réponses: 5
    Dernier message: 03/02/2009, 13h43
  5. [VBA-E]Couleur de cellule sur toute une ligne
    Par Kaiba dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/03/2007, 11h01

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