Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2970 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro Excel - Problème avec ActiveCell.Font.ColorIndex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro Excel - Problème avec ActiveCell.Font.ColorIndex

n°2062592
lezert
Posté le 11-03-2011 à 15:07:45  profilanswer
 

Bonjour,
 
Je n'arrive pas à faire marché la fonction EcrireMessage (ou la fonction EcrireMessage qui est identique)
En effet cette fonction doit Écrire le message "Coucou" dans la cellule active et modifier la couleur du texte  
afin qu'il soit afficher en noir et non pas en blanc (valeur par défaut de ma cellule)
 
Voilà mes fonction:  
 
Essais 1:

Code :
  1. Public Function EcrireMessage2() As String
  2.     EcrireMessage2 = "Coucou"
  3.     With ActiveCell.Font
  4.         .Name = "Arial"
  5.         .FontStyle = "Normal"
  6.         .Size = 10
  7.         .Strikethrough = False
  8.         .Superscript = False
  9.         .Subscript = False
  10.         .OutlineFont = False
  11.         .Shadow = False
  12.         .Underline = xlUnderlineStyleNone
  13.         .ColorIndex = 1
  14.     End With
  15. End Function


 
Essais 2:

Code :
  1. Public Function EcrireMessage() As String
  2.     EcrireMessage = "Coucou"
  3.     Call Macro2
  4. End Function
  5. Sub Macro2()
  6.     With ActiveCell.Font
  7.         .Name = "Arial"
  8.         .FontStyle = "Normal"
  9.         .Size = 10
  10.         .Strikethrough = False
  11.         .Superscript = False
  12.         .Subscript = False
  13.         .OutlineFont = False
  14.         .Shadow = False
  15.         .Underline = xlUnderlineStyleNone
  16.         .ColorIndex = 1
  17.     End With
  18. End Sub


 
Dans les deux cas quand je fais dans ma cellule =EcrireMessage() ou =EcrireMessage2') le  
message "Coucou" mais pas en noir !!! La police de la case reste blanche !!!!
 
Merci d'avance pour votre aide.


Message édité par lezert le 11-03-2011 à 15:12:03
mood
Publicité
Posté le 11-03-2011 à 15:07:45  profilanswer
 

n°2062617
olivthill
Posté le 11-03-2011 à 16:18:15  profilanswer
 

ColorIndex ne me semble pas être une propriété de la Font, mais être une propriété de Interior.
 
Essayer :

With ActiveCell.Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
    End With
ActiveCell.Interior.colorindex = 1

n°2063331
SuppotDeSa​Tante
Aka dje69r
Posté le 14-03-2011 à 16:03:28  profilanswer
 

Ca ne marche pas comme ca.
 
Une fonction ne colore pas une cellule. Une fonction ca renvoit une valeur en fonction ou pas de paramètre(s).
 
Si tu veux faire ce que tu veux, ca demande un peu de "passe-passe".
 
- Utiliser une fonction comme il se doit
- Passer par les evenements des feuilles Excel pour verifier la valeur de la derniere cellule "sélectionnée"
 
Exemple :
Module WorkSheet :

Code :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Range(PlageActive).Value = "Coucou" Then
  3.     Range(PlageActive).Font.ColorIndex = 1
  4. End If
  5. End Sub
  6. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  7. If PlageActive = "" Then
  8.     PlageActive = Selection.Address
  9. End If
  10. PlageSuiv = PlageActive
  11. PlageActive = Selection.Address
  12. End Sub


 
Dans un module :

Code :
  1. Public PlageSuiv As String
  2. Public PlageActive As String
  3. Public Function EcrireMessage() As String
  4.     EcrireMessage = "Coucou"
  5. End Function


---------------
Soyez malin, louez entre voisins !
n°2063341
lezert
Posté le 14-03-2011 à 16:28:13  profilanswer
 

Merci pour ta réponse.
 
Par contre cela marche que si on sélectionne d'abord la cellule à la main.  
Mais si la cellule est mise à jour automatiquement, alors ça marche plus.
 
Comment faire pour que une mise à jour de cellule déclenche l'action ?
 
Merci d'avance.


Message édité par lezert le 14-03-2011 à 16:51:09

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro Excel - Problème avec ActiveCell.Font.ColorIndex

 

Sujets relatifs
probleme avec un JAVA suivant le serveurExcel VBA Gestion Suivi des stock
Problème NetworkStream C#demande d'aide pour une macro conditionnelle
probleme import fr.lriProblème de positionnement image dans zone
problème d'affectation de charfusion dans Word à partir d'Excel
[MySQL] LOAD DATA IN FILE problèmeProblème de Framework
Plus de sujets relatifs à : Macro Excel - Problème avec ActiveCell.Font.ColorIndex


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR