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 :

écriture invisible dans cellule entière [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Par défaut écriture invisible dans cellule entière
    Bonjour.
    Je voudrai que la couleur de la police d'une cellule soit la même que celle du fond, et cela même lorsque l'on change la couleur du fond de ladite cellule! (automatiquement quoi!)
    Quelles sont les possibilités? (VBA)
    Merci.
    Si besoin de précisions, n'hésitez pas!
    Cdlt

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Je n'en vois personnellement pas pendant que l'utilisateur est dans la cellule.
    Le seule possibilité que je vois dans ce sens serait une intevention au moment de quitter la cellule concernée (pour lui donner une couleur de texte = à la couleur de fond). Après coup, donc, et pas "au moment du coup".

    PS : sauf, bien sûr (mais à quel prix/ressources) à mettre en place un timer tournant sans cesse.... ===>> à éviter !

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Par défaut
    Merci pour ta réponse, mais il faut que je précise le contexte:
    Soit un groupe de 4 cellules que je nommerai A, B, C et D.
    Le choix d'une valeur (parmi 12) dans A conditionne une autre valeur (parmi 5) dans B; cette dernière conditionne à son tour la couleur du groupe (via une MFC).
    Je souhaiterai donc que la police de B puisse prendre la même couleur que son fond.
    Il y a environ 200 groupes.
    Une des solutions que j'entrevois consisterai à remplacer la MFC par un traitement évènementiel qui me permettrai par la même occasion d'avoir plus de couleurs.
    Mais je maitrise mal les procédures évènementielles...
    Cdlt

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Je ne sais pas où tu vas ...
    Voilà, à main levée et non testé (pas Excel à portée de main) , un exemple de ton "invisibilité"sur une cellule (ici ma cellule 1,1, lorsqu'on la quitte.
    A toi de voir ensuite comment adapter, améliorer ce bâclage, mettre en procédure paramétrée au besoin , etc....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private sub worksheet_selectionchange(byval target as range)
     static anc as string
     If anc = "" Then anc = "1,1"
     cells(anc).font.color = cells(anc).interior.color
     If anc = "1,1" Then MsgBox "oui"
     anc = target.cells.column & "," & target.cells.row
    End Sub

  5. #5
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Par défaut
    Merci pour ta proc; cela m'a beaucoup aidé mais il me manque le moyen de déterminer si Target fait partie d'une zone (x lignes et y colonnes à partir d'une adresse fixe).
    Cdlt

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_selectionchange(ByVal Target As Range)  
    If Not Intersect(Target.Columns, Columns("H:M")) Is Nothing Then
    'Test : si la négation de l'intersection de la colonne de la cellulle selectionnée avec la colonne voulue est rien : (donc négation de : (on n'a pas cliqué dans une case qui nous intéresse..)= on a cliqué où on veut réagir)
    End If
    cordialement,

    Didier

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 04/04/2011, 15h56
  2. écritures concurrentes dans un fichier
    Par djmalo dans le forum C
    Réponses: 9
    Dernier message: 06/03/2005, 02h45
  3. Export vers Excel et saut de ligne dans cellule
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 16h53
  4. explo de BD : zone de saisie SQL invisible dans
    Par sebitor dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/03/2004, 18h39
  5. [D7-EXCEL2000] Formule dans cellule Excel qui ne se calcule pas
    Par Albertolino dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 09/09/2003, 15h18

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