Problème avec colorbox

Bonjour,

J'essaye d’utiliser la fonction ColorBox pour coloriser mes cellules au clic dans l'une d'entr'elles.

(c'est en fait ce qui est expliqué ici : https://www.excel-pratique.com/fr/fonctions-complementaires/colorbox-excel)

Mais lorsque je clique sur une cellule , j'ai l'erreur VBA suivante : "Erreur de compilation: Sub ou Function non définie"

(bien évidemment, le pack de macro complémentaires est installé).

Faut il activer quelque quelque chose, .. définir une fonction .. ?

Merci pour votre aide

Bonsoir Guido76

Et comment voulez-vous que l'on puisse vous aider

Aucun fichier, aucun code...

A+

Bonjour,

Mes excuses, je suis un peu à la traine pour répondre, mais on ne fait pas toujours ce que l'on veut ..

Sinon, .. ben oui, pas de code, il est en clair dans la page sur ce site et dont j'ai donné le lien : https://www.excel-pratique.com/fr/fonctions-complementaires/colorbox-excel

je veux bien le mettre ci dessous (il y a deux versions) et je rappelle que le pack de macro complémentaires est bien installé :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column = 3 Then 'Si colonne C
        Target.Interior.Color = colorBox
    End If

End Sub
------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column = 3 Then 'Si colonne C
        couleur = colorBox(Target.Interior.Color)
        If couleur > -1 Then 'Si l'utilisateur a choisi une couleur
            Target.Interior.Color = couleur
        End If
    End If

End Sub

Bonjour Guido76

Et si dans la fenêtre d'exécution tu saisi

Debug.Print ColorBox

Qu'est-ce que cela donne ?

A+

Bonjour,

Je m'y prends peut être mal, mais ca n'affiche rien.

Mais je viens de me rendre compte que l'erreur apparaît avec le second code, sur la ligne "couleur = colorBox(Target.Interior.Color)" avec le mot colorbox surligné.

Avec le premier code, au clic sur une cellule, la cellule se colore en noir, et je n'ai pas l'ouverture de l'userform.

Le code "Debug.Print ColorBox", je l'insère à n'importe quel moment, ou juste après l'éxécuion de la macro colorbox ?

Merci !

Bonsoir,

Je pense donc quel l'Add-in est mal installé, il faudrait tester d'autres fonctions 🤔

+A

Bonjour,

J'ai testé les autres fonctions qui semblaient toutes fonctionner ..

Du coup, je suis revenu sur le code utilisé pour cette fonction Colorbox, et j'ai chercher la raison de l'erreur sur le site de Microsoft.

Et j'ai fini par trouver :

Il faut aller dans le menu Outil de la page VBA , ouvrir la fenêtre de Référence, et dans la liste proposée, cocher le Pack de fonctions_XLP.

Et là, ca marche.

Seul bémol, l'userform de choix couleur apparaît sur le second écran (quand on a deux écrans ...), et il n'est pas possible de modifier la position car on n'a pas accès au code du pack. (il faudrait mettre la propriété StartUpPosition de l'userform à 'Windows Default' et pas 'Center Owner' ou 'Center Screen')

xlp

Bonsoir Guido76

Tout ce temps perdu pour ça, non mais sérieux

Il est indiqué ici
https://www.excel-pratique.com/fr/fonctions-complementaires/

si vous rencontrez des difficultés pour utiliser les fonctions VBA, consultez ce guide d'installation.

Et dans le guide, il est bien indiqué : (si vous utilisez une version d'Excel plus ancienne, cliquez ici).
Ce qui vous aurait mené à ca
https://www.excel-pratique.com/fr/fonctions-complementaires/installation-macros-complementaires

Mais pourquoi faire des guides d'installation... hein

Bonjour,

Ouais .. sauf que :

1) j'étais bien allé dans "Fichier" > "Options" > "Compléments" pour ouvrir la fenêtre des compléments et activer le complément, vu que je suis pas 'neuneu' et que ca fait à peine plus de 30 ans que j'utilise Excel. D'ailleurs la plupart des fonctions du pack fonctionnaient sans problème.

2) qu'il a pourtant fallu que je réactive une seconde fois dans la fenêtre VBA comme je l'ai indiqué, et que, du coup, je n'y aurais pas pensé si je n'avais pas relu l'aide de Microsoft

3) que ma version d'Office n'est pas ancienne, vu que c'est une version 2019. Je sais que le temps passe vite, mais bon ...

cordialement,

Re,

Sauf que moi je vois sur votre profil

image

Donc à changer, je n'aurais pas eu cette discussion

Pour le reste je ne sais pas à voir avec Sébastien l'admin

Cordialement.

Bonjour,

OK. Je vais corriger le profil. On n'y pense pas toujours.

Et je m'excuse aussi d'avoir été peut être un peu "vif" dans ma réponse hier.

En fait, j'aurais du être plus explicite dans mon premier message en indiquant bien que j'étais vraiment certain d'avoir bien installé le pack, y compris en l'activant dans les options. C'est quand même étrange qu'il a fallu l'activer une seconde fois dans la fenêtre VBA ...

Pour la position de l'userform, comment pourrait on le faire apparaître dans l'écran principal et pas sur le second écran ? Je ne sais pas s'il y a moyen sans accéder à ses propriétés.

Bonjour Guido76

Pour la position de l'USF, voici ce que j'utilise

Private Sub UserForm_Initialize()
  ' Centrer l'USF dans la fenêtre principale
  With Me
    .Left = (Application.Left + Application.Width) - ((Application.Width + .Width) / 2)
    .Top = (Application.Top + Application.Height) - ((Application.Height + .Height) / 2)
  End With
End Sub

A+

Bonjour,

Oui, mais ce code, vous le mettez où ? Ca fonctionne pour toutes les macros utilisant un userform, par exemple toutes les macros du classeur Personnal ?

Auquel cas, de mémoire, .. il me semblait qu'il faut mettre ce code pour un lancement au démarrage d'Excel en l'appelant Private Sub Workbook_Open() dans ThisWorkbook, ou Private Sub Auto_Open() dans un ensemble d'autres macros. Mais après essai, ca ne marche pas ...

Re,

La première ligne de code est quand même parlante, non

Private Sub UserForm_Initialize()

Vous avez demandé

Pour la position de l'userform, comment pourrait on le faire apparaître dans l'écran principal et pas sur le second écran ? Je ne sais pas s'il y a moyen sans accéder à ses propriétés.

Donc je vous ai répondu

Rechercher des sujets similaires à "probleme colorbox"