Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
13-05-2008 - 5:16
Message
#1
|
|
|
Membre Groupe : Membres Messages : 30 Inscrit : 13-05-2008 Membre n° 12 974 |
Bonjour à tous ceux qui vont lire mon sujet à ceux qui m'aideront et ceux qui essayeront.
Je ne pense pas que mon cas soit désespéré mais j'ai un boulot à faire et à force de chercher de l'aide sur le net je m'y suis perdu. Alors je me lance: 1) Qu'elle est la différence entre une macro et une fonction? >Pour moi une fonction reste dans la cellule, dans le sens résultat d'une addition par exemple, alors qu'une macro c'est un bouton, et donc le résultat ne reste pas. Je me me plante ou pas? 2) Bon en gros je vous explique le probleme , j'ai des cellules de couleurs avec des nombres dedans ce sont des mesures par rapport à une tolérance et il y a trois couleur >vert : ok >jaune: acceptable >rouge : refusé Et il faut que je compte toute ses satané céllule pour faire des statistiques par rapport à la tolérance voulue. Et bien entendu sur mon classeur un j'ai les valeurs, autant vous dire que je dois avoir entre 20 et 30 colonnes et donc tolérances différentes; et je dois mettre mes stats sur le classeur 2; de façon dynamique par ce que ici ils savent faire qu'une chose avec excel s'est remplir les cases...... Donc forcément aprés c'est les stagières ingé qui s'y colle... Donc si vous vouliez bien m'aider ça serai sympa; surtout que ça m'éviterai de devoir me tapper un programme sur un autre logiciel pour leur petite base de données... Donc en remerciant ceux qui vont me lire, m'aider et essayer de m'aider Au plaisir de vous lire Zazou... PS: en plus je suis certaine que niveau question je peux etre une vrai mine d'or pour ce forum!! lol |
|
|
|
13-05-2008 - 5:27
Message
#2
|
|
|
Membre Groupe : Membres Messages : 39 Inscrit : 21-08-2006 Lieu : Grenoble Membre n° 10 276 |
Bonjour à tous ceux qui vont lire mon topic à ceux qui m'aideront et ceux qui essayeront. Je ne pense pas que mon cas soid désespéré mais j'ai un boulot à faire et à force de chercher de l'aide sur le net je m'y suis perdu. 1) QU'elle est la différence entre une macro et une fonction? Bonjour Zazou, Une macro correspond à un développement personnalisé dans Excel pour automatiser certaines tâches. Cette macro enchaine des actions de manière transparente pour afficher un résultat final voulu par l'utilisateur. Une fois la macro créé, on peut considéré qu'il s'agit d'une nouvelle fonction dans Excel. Une fonction dans Excel ressemble à une macro sauf que c'est déjà intégré dans Excel et qu'il n'y a rien de personnalisé. Un exemple de fonctions : =SOMME(paramètres) =MOYENNE(paramètres) =TRUNCATE(paramètres) Une fonction est un nom dans lesquels on pose des paramètres entre les parenthèses pour avoir un résultat final automatique. =SOMME(B1:B3) donnera le somme des cellules B1, B2 et B3. Donc il n'y a pas réellement de différence, si ce n'est qu'une macro est un enchainement d'actions automatiques PERSONNALISEES et une fonction un enchainement d'actions automatiques intégrées dans Excel. Cordialement. Sam |
|
|
|
13-05-2008 - 5:35
Message
#3
|
|
|
Membre Groupe : Membres Messages : 30 Inscrit : 13-05-2008 Membre n° 12 974 |
Donc il n'y a pas réellement de différence, si ce n'est qu'une macro est un enchainement d'actions automatiques PERSONNALISEES et une fonction un enchainement d'actions automatiques intégrées dans Excel. Merci Sam pour ta réponse si rapide, En fait j'ai posé cette question car j'ai trouvé sur ce même forum un post d'un moderateur: Helger qui disait je cite: >"Hum, c'est une création de fonction et non pas une fonction existante dans Excel >En gros, ils ont fait pareil que moi, sauf qu'ils l'ont créé en fonction. Alors forcément je me suis dis que y avait un truc que j'avais pas compris.... Mais bon je suppose que c'était un abus de language et qu'il fallait donc lire création d'une macro et non pas d'une fonction. Merci encore pour ta réponse Sam |
|
|
|
14-05-2008 - 5:25
Message
#4
|
|
|
Membre Groupe : Membres Messages : 30 Inscrit : 13-05-2008 Membre n° 12 974 |
Bon y a personne qui voudrais me filer un petit coup de main donc...
Pour information je susi arrivée à compter mes cellules de couleurs différents, le programme tourne. Mais savez vous si je peux demander de faire colonne par colonne et donc de mettre le résultats dans des case différentes? merci ps: désolée pour le double post |
|
|
|
14-05-2008 - 6:31
Message
#5
|
|
|
Membre Groupe : Membres Messages : 39 Inscrit : 21-08-2006 Lieu : Grenoble Membre n° 10 276 |
Bonjour Zazou,
Il y aurait peut-être un moyen simple de calculer le nombre de cellules que tu souhaites; Je prends pour exemple le tableau suivant (avec les codes couleurs suivant les conditions de tolérance différentes pour chaque colonne) : En feuille 1 : ![]() En feuille 2 : ![]() Où tu trouveras les fonctions suivantes dans les cellules : En A3 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 1";A1:B2) En C3 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 1";C1:C2) En D3 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 1";D1:D2) En A7 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 2";A5:B6) En C7 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 2";C5:C6) En D7 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 2";D5:D6) En A11 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 3";A9:B10) En C11 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 3";C9:C10) En D11 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 3";D9:D10) En A15 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 4";A13:B14) En C15 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 4";C13:C14) En D15 : =BDNB(Feuil1!$A$1:$D$10;"Colonne 4";D13:D14) Cette fonction BDNB prend en paramètre la base de données qui se trouve en feuille 1, le nom de la colonne dans laquelle on dénombre, et enfin le filtre utilisé pour le dénombrement (A1:B2 -> le filtre est compris entre 100 et 200) Voilà, j'espère que ça t'aidera. Bonne journée. Sam |
|
|
|
14-05-2008 - 8:05
Message
#6
|
|
|
Membre Groupe : Membres Messages : 30 Inscrit : 13-05-2008 Membre n° 12 974 |
Merci beaucoup je vais essayer
j'avoue que du coup mon programme de hier me sert pas à grand chose... Mais ça pourrait etre pas mal du tout, comme ça si il y a une erreur de couleur je m'en fous Pas mal du tout merci bcp bcp bcp Puis j'avoue que j'ai 82lignes pour environ 86en colonnes... Et des données sont ajoutées en lignes réulierement... DOnc ça pause un peu probleme...d'autre idées...lol |
|
|
|
14-05-2008 - 8:41
Message
#7
|
|
|
Membre Groupe : Membres Messages : 39 Inscrit : 21-08-2006 Lieu : Grenoble Membre n° 10 276 |
Merci beaucoup je vais essayer j'avoue que du coup mon programme de hier me sert pas à grand chose... Mais ça pourrait etre pas mal du tout, comme ça si il y a une erreur de couleur je m'en fous Pas mal du tout merci bcp bcp bcp Puis j'avoue que j'ai 82lignes pour environ 86en colonnes... Et des données sont ajoutées en lignes réulierement... DOnc ça pause un peu probleme...d'autre idées...lol Oui, comme idée, tu peux prendre les colonnes en entier au lieu du tableau. Par exemple =BDNB(Feuil1!$A:$D;"Colonne 1";A1:B2) Il prendra en compte toutes les lignes des colonnes A à D... Sam |
|
|
|
14-05-2008 - 9:45
Message
#8
|
|
|
Membre Groupe : Membres Messages : 30 Inscrit : 13-05-2008 Membre n° 12 974 |
|
|
|
|
15-05-2008 - 9:14
Message
#9
|
|
|
Membre Groupe : Membres Messages : 30 Inscrit : 13-05-2008 Membre n° 12 974 |
Alors de plus en plus dur...
j'ai un programme qui tourne Il me donne trois réponses, trois nombres, je le fais tourner pour chaque colonne serait il possible de me symplifier un peu la vie? des idées? Du style, demander ou il dans quel colonne il doit tourner et aprés demander dans quelles cases il doit mettre les solutions? ça ça serai trop fort!!: lol je sais pas si c'est possible mais j'essaye de simplifer un max car ils sont pas du tou du tout doués ici merci |
|
|
|
15-05-2008 - 11:11
Message
#10
|
|
|
Membre Groupe : Membres Messages : 39 Inscrit : 21-08-2006 Lieu : Grenoble Membre n° 10 276 |
|
|
|
|
16-05-2008 - 3:41
Message
#11
|
|
|
Membre Groupe : Membres Messages : 30 Inscrit : 13-05-2008 Membre n° 12 974 |
Bon je vais essayer d'être plus claire mais je peux pas mettre de copie d'écran depuis mon pc du taff.
Bon en gros j'ai 20 Fichiers excel qui sont tous bâtis de la meme façon des numéro de série en premiere colonne des tolérances en premiere ligne et au milieu forcément les mesures des tolérances allant avec chaque numéro de série. Et des couleurs, suivant si c'est Bon= vert Acceptable= Jaune ou Refusé = Rouge. En feuille 2 de chaque fichier il y a des stat qui étaient mises à jour manuellement , sauf que quand y a 50 lignes parfois par fichier et modifié s presque tout le jours, c'est un peu chaud pour mettre à jours les stats, donc la personne qui s'en occupé à abandonné. On ma demandé d'analysé les stats, mais pour ça faut les avoir!!!mdr Donc mon programme il fait quoi, il compte les cellules de couleurs. En gros je selectionne ma colonne dans lafeuille 1; je lance ma macro et j'ai le résultat dans 3 cases (= 3couleurs) sur la feuille 2 en haut de mon tableau de stat, je n'ai plus qu'à recopier les chiffres dans la lignes corespondantes à la tolérance . 9a va mieux là? c'est plus clair? Donc ma question est pourrais je me simplifier un peu la vie, style il le fait tout seul...lol Ce que je veux dire c'est que là ou il risque d'y avoir le plus d'erreur , humaine c'est en recopiant pas au bon endroit les données donc j'aurai aimé un peu simplifier , et je me demande si il serait pas possible que la macro me demande ou je les veux ses résultats? Si c'est pas clair je recommence...lol Merci encore de te pencher sur mon pb Sam |
|
|
|
16-05-2008 - 10:56
Message
#12
|
|
|
Membre Groupe : Membres Messages : 39 Inscrit : 21-08-2006 Lieu : Grenoble Membre n° 10 276 |
Bon je vais essayer d'être plus claire mais je peux pas mettre de copie d'écran depuis mon pc du taff. Bon en gros j'ai 20 Fichiers excel qui sont tous bâtis de la meme façon des numéro de série en premiere colonne des tolérances en premiere ligne et au milieu forcément les mesures des tolérances allant avec chaque numéro de série. Et des couleurs, suivant si c'est Bon= vert Acceptable= Jaune ou Refusé = Rouge. En feuille 2 de chaque fichier il y a des stat qui étaient mises à jour manuellement , sauf que quand y a 50 lignes parfois par fichier et modifié s presque tout le jours, c'est un peu chaud pour mettre à jours les stats, donc la personne qui s'en occupé à abandonné. On ma demandé d'analysé les stats, mais pour ça faut les avoir!!!mdr Donc mon programme il fait quoi, il compte les cellules de couleurs. En gros je selectionne ma colonne dans lafeuille 1; je lance ma macro et j'ai le résultat dans 3 cases (= 3couleurs) sur la feuille 2 en haut de mon tableau de stat, je n'ai plus qu'à recopier les chiffres dans la lignes corespondantes à la tolérance . 9a va mieux là? c'est plus clair? Donc ma question est pourrais je me simplifier un peu la vie, style il le fait tout seul...lol Ce que je veux dire c'est que là ou il risque d'y avoir le plus d'erreur , humaine c'est en recopiant pas au bon endroit les données donc j'aurai aimé un peu simplifier , et je me demande si il serait pas possible que la macro me demande ou je les veux ses résultats? Si c'est pas clair je recommence...lol Merci encore de te pencher sur mon pb Sam Si j'ai bien compris, les résultats tu les as déjà... mais pas au bon endroit ! Donc tu voudrais que ces résultats soit visibles sur d'autres cellules ? Il ne suffirait pas que dans ces cellules tu es un truc du genre : =Feuil2!A3 (où dans la feuille 2 et en case A3, dans l'exemple que j'avais pris ce serait le résultat de la tolérance moyenne de la colonne 1). Comme Feuil2!A3 est mis à jour à la volée, le résultat devrait être également mis à jour à la volée. Sam |
|
|
|
19-05-2008 - 5:09
Message
#13
|
|
|
Membre Groupe : Membres Messages : 30 Inscrit : 13-05-2008 Membre n° 12 974 |
Voilà ma super Macro:
Option Explicit Dim NbrGreenCell As Double, GreenCell As Range Dim NbrRedCell As Double, RedCell As Range Dim NbrYellowCell As Double, YellowCell As Range Sub Countcells1() NbrGreenCell = 0 NbrRedCell = 0 NbrYellowCell = 0 For Each GreenCell In Selection If GreenCell.Interior.ColorIndex = 10 Then NbrGreenCell = NbrGreenCell + 1 End If Next For Each RedCell In Selection If RedCell.Interior.ColorIndex = 3 Then NbrRedCell = NbrRedCell + 1 End If Next For Each YellowCell In Selection If YellowCell.Interior.ColorIndex = 6 Then NbrYellowCell = NbrYellowCell + 1 End If Next Range("ReworkChart!J1") = NbrGreenCell Range("ReworkChart!H1") = NbrRedCell Range("ReworkChart!I1") = NbrYellowCell End Sub Alors elle est associé à un bouton dans ma barre de menu, ce que je comprend pas c'est pourquoi la macro est aussi lié au fichier. Car si je l'utilise dans le fichier A je ferme et j'essaye de lutiliser dans le Fichier B; excel ouvre le fichier A et fais tourner la macro qui plante forément. Y a rien qui rappelle le fichier dans la macro et pourtant ils sont liées...au secours!!!! Pour te répondre Sam. c'est cette macro qui donne les trois résultats en J1 H1 et I1 et moi aprés je les recopie un peu plus bazs dans la case qui correspond et ça pour toutes les colonnnes de la feuille 1. Merci |
|
|
|
19-05-2008 - 5:40
Message
#14
|
|
|
Membre Groupe : Membres Messages : 39 Inscrit : 21-08-2006 Lieu : Grenoble Membre n° 10 276 |
Où cette macro est-elle enregistrée dans VBA ?
Car chaque macro est spécifique à un fichier... à moins de l'externaliser !!! Jolie macro, mais la sélection d'où vient-elle ? For Each GreenCell In Selection Enfin, le bouton que tu as créé dans ton menu, ne fait-il justement pas référence au fichier A ? Et donc lance la macro du fichier A et non du fichier B ? J'ai du mal à comprendre pourquoi tu utilises deux fichiers d'ailleurs... Parce que la macro doit être utilisée dans plusieurs fichiers ? Sam |
|
|
|