Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

claude40

XLDnaute Occasionnel
bonjour a tous
dans le fichier suivant j'ai introduit une macro,qui en double cliquant sur les cellules a cotés des dates me selectionne une couleur a chaque double click.

je voudrais savoir s'il et possible que quand je double click en plus de la couleur sa m'affiche dans la cellule un texte.

exemple: rouge=RTT
vert=férié

merci d'avance

Regarde la pièce jointe planing 1.xls
 

Pièces jointes

Re : texte et couleur

Bonjour claude40,

Exemple pour RTT :

Cells(Target.Row, Target.Column).Interior.ColorIndex = 3
Cells(Target.Row, Target.Column) = "RTT"

et pour Férié :

Cells(Target.Row, Target.Column).Interior.ColorIndex = 4
Cells(Target.Row, Target.Column) = "Férié"

Tu modifies les autres de la même manière.

Bonne journée.

Jean-Pierre
 
Re : texte et couleur

Bonjour Claude, Jean-Pierre🙂

peut être comme ceci :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Interior.ColorIndex = xlNone Then
   Target.Interior.ColorIndex = 5: Target.Value = "rien"
    ElseIf Target.Interior.ColorIndex = 5 Then Target.Interior.ColorIndex = 3: Target.Value = "rtt"
    ElseIf Target.Interior.ColorIndex = 3 Then Target.Interior.ColorIndex = 4: Target.Value = "férié"
    ElseIf Target.Interior.ColorIndex = 4 Then Target.Interior.ColorIndex = 6: Target.Value = "bof"
    ElseIf Target.Interior.ColorIndex = 6 Then Target.Interior.ColorIndex = 0: Target.Value = "rien"
End If
End Sub

bonne journée
@+
 
Re : texte et couleur

Re

essaye en modifiant comme suit :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Interior.ColorIndex = xlNone Then
   Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 5: Target.Value = "rien"
    ElseIf Target.Interior.ColorIndex = 5 Then Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 3: Target.Value = "rtt"
    ElseIf Target.Interior.ColorIndex = 3 Then Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 4: Target.Value = "férié"
    ElseIf Target.Interior.ColorIndex = 4 Then Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 6: Target.Value = "bof"
    ElseIf Target.Interior.ColorIndex = 6 Then Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 0: Target.Value = "rien"
End If
End Sub

@+
 
Re : texte et couleur

Re

chez moi, le code donné fonctionne (excel 2003)... J'ai mis un test sur la ligne et la colonne de la cellule "double clikée" :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column > 1 And Target.Column < 25 And Target.Column Mod 2 = 0 And Target.Row > 4 Then
    If Target.Interior.ColorIndex = xlNone Then
       Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 5: Target.Value = "rien"
        ElseIf Target.Interior.ColorIndex = 5 Then Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 3: Target.Value = "rtt"
        ElseIf Target.Interior.ColorIndex = 3 Then Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 4: Target.Value = "férié"
        ElseIf Target.Interior.ColorIndex = 4 Then Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 6: Target.Value = "bof"
        ElseIf Target.Interior.ColorIndex = 6 Then Target.Offset(0, -1).Resize(, 2).Interior.ColorIndex = 0: Target.Value = "rien"
    End If
    Cancel = True
End If
End Sub

fait un copier / coller du code ci dessous dans la feuille concernée.

bon après midi
@+
 
Re : texte et couleur

Re

tu peux utiliser une fonction personnalisée comme ci-dessous :

Code:
Function NbCouleur(Plage As Range, Cellule_Coul As Range)
Dim c As Range, i As Integer
Application.Volatile
For Each c In Plage
    If c.Interior.ColorIndex = Cellule_Coul.Interior.ColorIndex Then _
        i = 1 + i
Next c
NbCouleur = i
End Function

tu peux également utiliser la fonction "NB.SI", comme tu y associes des valeurs (ex RTT") :

Code:
=NB.SI(B5:B34;"RTT")

@+
 
Re : texte et couleur

Re claude40, Bonjour Pierrot,

Je ne sais pas encore si j'aurai le temps, ce tantôt, de faire quelques recherches, mais il existe des solutions ici, soit en partant de la couleur ou soit en partant d'un mot de ne cliquer qu'une fois plutôt que 50 pour arriver au résultat escompté....

Pour le reste, Pierrot a tout dit....

Bonnes Fêtes de fin d'année à tous....

Jean-Pierre
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
481
Réponses
2
Affichages
382
Retour