[Excel] Fonction dont résultat est 1 couleur
Jodko
-
Jodko -
Jodko -
Bonjour,
Je voudrais faire une fonction dans excel dont le résultat est une couleur.
Plus précisément, je voudrais que la fonction recopie la couleur d'une autre cellule.
Je me suis inspiré de la fonction suivante qui compte le nombre de cellules d'une couleur :
Function NBCOLOR(Cible As Range, oRef As Range) As Long
Dim o, i%, k%
Application.Volatile
k = oRef.Interior.ColorIndex
For Each o In Cible
If o.Interior.ColorIndex = k Then i = i + 1
Next
NBCOLOR = i
End Function
Et j'ai tenté le code suivant :
Function COPYCOLOR(Cible As Range) As Long
Dim o, k%
Application.Volatile
k = Cible.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = k
End Function
Sauf que ça m'écrit juste 0 au lieu de recopier la couleur.
Bon, en même temps, je connais pas vraiment les Functions, et Activecell, c'est sûrement plus un truc de Macro.
Merci de votre aide !
Je voudrais faire une fonction dans excel dont le résultat est une couleur.
Plus précisément, je voudrais que la fonction recopie la couleur d'une autre cellule.
Je me suis inspiré de la fonction suivante qui compte le nombre de cellules d'une couleur :
Function NBCOLOR(Cible As Range, oRef As Range) As Long
Dim o, i%, k%
Application.Volatile
k = oRef.Interior.ColorIndex
For Each o In Cible
If o.Interior.ColorIndex = k Then i = i + 1
Next
NBCOLOR = i
End Function
Et j'ai tenté le code suivant :
Function COPYCOLOR(Cible As Range) As Long
Dim o, k%
Application.Volatile
k = Cible.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = k
End Function
Sauf que ça m'écrit juste 0 au lieu de recopier la couleur.
Bon, en même temps, je connais pas vraiment les Functions, et Activecell, c'est sûrement plus un truc de Macro.
Merci de votre aide !
A voir également:
- [Excel] Fonction dont résultat est 1 couleur
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Excel cellule couleur si condition texte - Guide
- Somme si couleur excel - Guide
2 réponses
Salut,
Effectivement, les fonctions renvoient des valeurs, ne font pas des "actions" si tu préfères.
En l'occurence, tu peux effectivement passer par une macro.
Voici un exemple de code qui fonctionne lors d'un double clic dans une cellule :
Pour le mettre en oeuvre : clic droit sur l'onglet de la feuille concernée / Visualiser le code.
Copier/coller tout le code puis fermer Visual Basic.
Et testez...
voici un classeur exemple
Effectivement, les fonctions renvoient des valeurs, ne font pas des "actions" si tu préfères.
En l'occurence, tu peux effectivement passer par une macro.
Voici un exemple de code qui fonctionne lors d'un double clic dans une cellule :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
Set moncel = Application.InputBox(prompt:="Cliquez sur la cellule dont vous voulez la couleur", Type:=8)
If Err = 0 Then
On Error GoTo 0
ActiveCell.Interior.ColorIndex = moncel.Interior.ColorIndex
End If
End Sub
Pour le mettre en oeuvre : clic droit sur l'onglet de la feuille concernée / Visualiser le code.
Copier/coller tout le code puis fermer Visual Basic.
Et testez...
voici un classeur exemple