Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lancer une fonctionpour compter les couleurs, Utilisation d'une variable je coince !

  • Initiateur de la discussion Initiateur de la discussion Goufra
  • Date de début Date de début

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 !

Goufra

XLDnaute Occasionnel
Bonsoir à vous,

Je souhaite lancer ma fonction en utilisant une variable qui corresponde à "Ma_Plage"
Je coince !

Fonction compter les cellules de couleur que je lance depuis une macro.

Avec mes remerciements anticipés
Bonne soirée à vous
Goufra
 

Pièces jointes

Re : Lancer une fonctionpour compter les couleurs, Utilisation d'une variable je coi

Salut Goufra et le forum
Pas réellement sûr de comprendre le problème.
B13 :
Code:
=Nombre_de_cellules_en_couleur(B1:B11)
appliquera la fonction personnalisée directement et donne le résultat en B13

Si je veux le faire dans une macro :
Code:
Sub lancer()
[B12] = Nombre_de_cellules_en_couleur([B1:B10])
End Sub
collera en B12 le résultat de la Function sur B1:B10

Juste une remarque sur les function : pense à y mettre application.volatile => oblige le recalcul de la Function à chaque calcul de la feuille
Code:
Function Nombre_de_cellules_en_couleur(Ma_Plage As Range) As Double
Dim Cel As Range

Application.Volatile
For Each Cel In Ma_Plage
    If Cel.Interior.ColorIndex <> xlNone Then _
        Nombre_de_cellules_en_couleur = Nombre_de_cellules_en_couleur + 1
Next Cel
End Function
A+
 
Re : Lancer une fonctionpour compter les couleurs, Utilisation d'une variable je coi

Bonsoir Paritec, Bonsoir Gorfael,

Merci à vous pour vos réponses judicieuses.
je retiens application.volatile dont je ne connaissais pas l'usage.

Mais mon problème subsiste.

J'ai besoin d'utiliser une variable, var par exemple.
Afin de pouvoir définir la zone (b1:d10 ou toute autre ).
Var étant égal au contenu de B 12 ou issue d'autres variables.

Je bute , j'essaie mais sans succès.
Je vous renvoie un fichier. toutes mes excuse, je n'avais pas pris la bonne fonction la 1ère fois !!!)
Dans l'attente de votre aide.

Bien cordialement
Goufra
 

Pièces jointes

Re : Lancer une fonctionpour compter les couleurs, Utilisation d'une variable je coi

Re bonsoir,

je n'ai pas trouvé comment remplacer par une variable [b1:b10. J'obtiens, Erreur de compilation, Type d'argument ByRef incompatible.

pour Sub lancer()
[B13] = Nombre_de_cellules_en_couleur([B1:B10])
End Sub


Mais j'ai trouvé pour
Sub testcouleur()
a = [b12]
Set Plage = Range(a)
Z = "Nbcc"
[b13] = Application.Run(Z, Plage)

Cordialement
Goufra

End Sub
 
Re : Lancer une fonctionpour compter les couleurs, Utilisation d'une variable je coi

Salut Goufra et le forum
je n'ai pas trouvé comment remplacer par une variable [b1:b10]
Petit rappel : on n'est ni devin, ni télépathe. Et ce qui te semble évident ressemble pour moi à du chinois traduit en japonais.

Pour une variable cellule :
Dim Cel as range => la variable Cel est déclarée en tant que plage de cellule
set Cel =[B1:B12] => la variable Cel est initialisée comme étant les cellules de B1 à B12

a = [b12] => a non déclaré, donc excel la déclare en Variant( dim a as Variant) => a= valeur de la cellule B12
Set Plage = Range(a) => la variable Plage = plage de cellule nommée de nom : valeur de la cellule B12

Mais il y a de multiple manière de coder. Quand à savoir ce que tu veux faire, si tu ne l'expliques pas en français...
A+
 
Re : Lancer une fonctionpour compter les couleurs, Utilisation d'une variable je coi

Bonsoir Gorfael,

Merci pour ta patience et ton aptitude à aider.

Petit à petit j'apprends.
Je crois avoir compris et patatras je fais soit des contre-sens soit des non-sens (souvenir de jeunesse)

Bref j'ai deux gros bouquins sur vba excel et vba ce n'est pas pour autant que j'y retrouve mes petits !
Pour poser une question il faut la formuler, pour la formuler correctement .... il ne faut pas être dans son contre sens ou il faut un minimum de compréhension ...
Ce qui explique qu'il m'arrive de pratiquer le chinois .... (j'aime bien l'expression) à mon corps défendant.

J'ai compris ton explication, j'avais déjà appliqué set, et tu m'enlèves un contre sens

Avec ton lancement d'une seule ligne j'étais persuadé de devoir réfléchir à comment utiliser un objet. Cela doit te paraître comme une énorme bêtise.


J'apprends plus en cherchant sur le forum et les tutoriels disponibles.
Bref je suis preneur de titres de livres ou de débats pour avancer dans la connaissance.

Pour moi, les explications que je lis ici ou là sont très souvent du chinois .... et comme je suis seul je n'ai que les forums et les gens de bonne volonté.


Avec mes remerciements les plus chaleureux
Cordialement
Bref
 
Re : Lancer une fonctionpour compter les couleurs, Utilisation d'une variable je coi

Salut Goufra et le forum
Bref j'ai deux gros bouquins sur vba excel et vba ce n'est pas pour autant que j'y retrouve mes petits !
Je ne suis pas pour les bouquins sur l'informatique (que pour ça, hein ! J'adore lire). Tu as toujours un livre qui est obsolète, et les exemples ne sont pas ceux dont tu as besoin (sans parler des coquilles). Je préfère user des forums :
- Émettre un sujet permet d'avoir une syntaxe particulière, mais aussi d'autres méthodes que celle qu'on pensait.
- Lire des sujets permet d'avoir des idées, des approches différentes de problèmes.

J'avoue qu'au début, sur les forums, je trouvais certaines réponses débiles => si je trouves quelque chose débile, moi, qui suis plus intelligent, je dois être capable de trouver le raisonnement qui a conduit à cette débilité => Je me suis rendu compte que c'est rarement aussi débile que ça le paraît au premier regard.
Désormais, il n'y a guère que l'utilisation systématique des instructions de camouflage des erreurs qui me gêne : Quand vous êtes informatichien, à quoi bon perdre du temps à comprendre pourquoi Excel renvoie une erreur alors que c'est si facile de lui mettre un baillon ?
Pour poser une question il faut la formuler, pour la formuler correctement...
Le problème de quelqu'un qui pose une question... c'est qu'il la pose avec ses seules connaissances. C'est pour ça que beaucoup (et j'en fais partie) demande un bout de fichier. Certains envoient leurs fichiers de travail, alors que c'est souvent loin de ce qu'on a besoin. On a besoin du minimum pouvant nous permettre de comprendre le chinois, pas de sa traduction en japonais : une ou 2 feuilles de 10 lignes/colonnes dans lesquelles on retrouve le problème... et ce qui est si évident pour l'utilisateur qu'il n'a pas besoin de le mentionner. Le but étant de comprendre la question et d'y répondre en un minimum de postes... pas d'apprendre à se servir du fichier !
J'apprends plus en cherchant sur le forum et les tutoriels disponibles.
Bref je suis preneur de titres de livres ou de débats pour avancer dans la connaissance.
Venant d'un siècle où, au début, n'existait que les livres...
Quand tu lances un tableur tout seul pour la première fois, lire est souvent utile. Mais il n'y a qu'une première fois !
Quelque soit le livre, le lire une fois peut être intéressant. Avoir lu qu'une instruction existe est utile : si on ne sait pas qu'elle existe, on ne peut pas l'utiliser.
Mais un livre est figé dans le temps. Et acheter un livre sur excel, au prix où ils sont, juste pour avoir les 2 pages qui te sont utiles... Je préfère utiliser les forums : Sur excel, à mon sens, ce qui fait défaut pour résoudre un problème est plus l'idée du raisonnement à suivre (ouais, je sais, l'algorithme) que la syntaxe. Et les forums fourmillent d'idées... qui ne me seraient jamais venues.

Je n'émets pas de sujets, Par contre, je pose des questions ! C'est l'idée qui a permis la réponse qui m'intéresse. Je me fais préciser ce que je n'ai pas compris. La question qui fait rire de toi, parce que c'est évident, tellement bête, que personne n'ose poser... je la pose : mon but est de réellement comprendre et de pouvoir l'appliquer à un cas totalement différent. Et si ça me fait prendre pour un imbécile, c'est pas grave, le ridicule ne tue pas... et comme c'est devant mon écran, on ne me montrera pas du doigt.

Tout ça pour dire qu'écumer les forums, lire les sujets qui t'intéressent te permettra d'apprendre, plus que d'acheter le livre d'une version qui sera bientôt dépassée. Sans compter que c'est frustrant de voir ce que peut faire la dernière version, alors qu'au boulot il est si difficile de convaincre que ce serait bien de laisser tomber la version 97, pour passer à une plus récente.
A+
 
- 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

D
Réponses
4
Affichages
434
DidPouAxi
D
Réponses
7
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…