Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Creation d'une fonction ss Excel

Mennix, le jeudi 2 février 2006 à 20:53:36
Bonsoir a tous,
voila , j'ai un petit souci sous excel, je desire ecrire une fonction qui me permettrait de changer la couleur d'une case en fonction de son contenu appelé depuis une cellule d'excel (la mise au format conditionnel ne m'interesse pas, car nous sommes limité a 3 fonctions)

j'ecris pour cela une fonction, que j'insere ensuite ds la cellule et qui me changera la couleur d'une autre en fonction de son propre contenu!::
voici le module:
Static Function ess(s As Range)


If Cells(s.Row, s.Column).Value = "RS" Then ess = 1 Else ess = 10

s.Font.ColorIndex = 2
s.Interior.ColorIndex = 2


End Function


alors ca change bien le contenu, soi 1 soi 10 en fonction de VALUE, par contre la couleur de fond, rien de se passe!!! en resumé si la celulle est RS alors rouge sinon Bleu!!!
est ce deja possible ??? et si oui comment faire!!! j'ai cherché un peu sur le net, mais visiblement je dois etre le seul a avoir le souci!!!
merci par avance
Répondre à Mennix  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
JvDo, le vendredi 3 février 2006 à 00:03:22
bonsoir,

si tu veux changer autre chose que la valeur de la cellule qui appelle ta fonction, il faut passer par une procédure. exemple :
derrière la feuille 1 de ton classeur tu mets ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "RS" Then Target.Interior.ColorIndex = 36
End Sub
A+
Répondre à JvDo

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin, le vendredi 3 février 2006 à 01:18:27
Bonjour,

en début de function ajouter :

Application.Volatile

la proposition précédente est excellente, mais si vous
tenez à conserver votre fonction ! Tout changement
provoque une exécution.

Lupin
Répondre à Lupin

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mennix, le samedi 4 février 2006 à 19:26:53
ok merci a tous, effectivment la fonction est sympas, seul souci, c'est qu'il y a changement de couleur apres la saisie clavier!!! or je charge un fichier texte que je mets ensuite dans les cellules excel, et la il y a pas de changement de couleurs, sauf si je valide ds la cellule!!!
en fait, en fonction du contenu de la cellule changement de courleurs, mais pas forcement si c'est moi qui tape ds la cellule, ca peut etre une macro qui vient mettre a jour cette cellule !!!

pas simple mon affaire!!!! si il y avait plus de 3 conditions ds les mise en forme conditionnel, je n'aurais pas de souci eheheheh
Répondre à mennix

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JvDo, le samedi 4 février 2006 à 22:09:36
bonsoir,

ça ne répondra peut-être pas complètement à ta question mais regarde http://xxl.vnunetblog.fr/xxl/2005/04/colorations_mul.html
c'est pas mal du tout

je ne sais plus où je l'ai vu.... sur CCM sans doute

A+
Répondre à JvDo

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin, le dimanche 5 février 2006 à 17:03:44
Bonjour,

et dans l'aide de Excel, vous trouverez la méthode [Calculate].

Après avoir "charger" vos données vous pouvez forcer l'exécution
des fonctions.

Aide Excel :
Calculate, méthode
Voir aussi S'applique à Exemple Spécificités
Cette méthode calcule tous les classeurs ouverts, une feuille de calcul particulière dans un classeur ou une plage de cellules déterminée dans une feuille de calcul, comme indiqué dans le tableau ci-dessous.

Pour calculer Exemple
tous les classeurs ouverts Application.Calculate (ou simplement Calculate)
une feuille de calcul particulière Worksheets(1).Calculate
une plage déterminée Worksheets(1).Rows(2).Calculate

expression.Calculate

expression Facultative pour Application et obligatoire pour Worksheet et Range. Expression qui renvoie un des objets de la liste S'applique à.

Exemple
Cet exemple montre comment calculer les formules des colonnes A, B et C de la plage utilisée dans la feuille Sheet1.

Worksheets("Sheet1").UsedRange.Columns("A:C").Calculate


Lupin
Répondre à Lupin

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
LCO2007, le mardi 14 août 2007 à 02:27:07
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "RS" Then Target.Interior.ColorIndex = 36
End Sub

Si je veux le faire sur 80 lignes dois-je faire 80 if .... ?

Merci pour votre aide :)
Répondre à LCO2007

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le mardi 14 août 2007 à 16:42:13
Bonjour,

suggestion :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim Plage As Range, Intersection As Range
    
    Set Plage = Range("B2:B82")
    Set Intersection = Application.Intersect(Plage, Target)
    
    If Not (Intersection Is Nothing) Then
        If Target.Value = "RS" Then
            Target.Interior.ColorIndex = 36
        Else
            Target.Interior.ColorIndex = xlNone
        End If
    End If
End Sub
'

Lupin
Répondre à Lupin.A

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
natou, le vendredi 24 août 2007 à 16:15:15
Je n'ai pas compris comment on fait pour avoir plus de 3 conditions dans Format Mise en forme conditionnelle
Configuration: Windows XP
Firefox 2.0.0.4
Répondre à natou

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le vendredi 24 août 2007 à 16:54:38
Bonjour,

s'il s'agit bien de créer une fonction permettant plus de trois conditions !

exemple :

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim Plage As Range, Intersection As Range
    
    Set Plage = Range("B2:B82")
    Set Intersection = Application.Intersect(Plage, Target)
    
    If Not (Intersection Is Nothing) Then
        Select Case (Target.Value)
            Case "RS": Target.Interior.ColorIndex = 36
            Case "RSST": Target.Interior.ColorIndex = 34
            Case "TU": Target.Interior.ColorIndex = 32
            Case "TUUV": Target.Interior.ColorIndex = 30
            Case Else: Target.Interior.ColorIndex = xlNone
        End Select
    End If
End Sub
'


ou encore :

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim Plage As Range, Intersection As Range
    
    Set Plage = Range("B2:B82")
    Set Intersection = Application.Intersect(Plage, Target)
    
    If Not (Intersection Is Nothing) Then
        If (Target.Value = "RS") Or _
            (Target.Value = "ST") Or _
            (Target.Value = "TU") Or _
            (Target.Value = "UV") Or _
            (Target.Value = "VW") Or _
            (Target.Value = "WX") Or _
            (Target.Value = "XY") Or _
            (Target.Value = "YZ") Then
                MsgBox "Trois conditions"
        End If
    End If
End Sub
'


Lupin
Configuration: Windows XP
Internet Explorer 6.0
Répondre à Lupin.A

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kiki56, le jeudi 4 octobre 2007 à 15:41:23
J'ai récemment eu en cadeau un superbe e-book ! Malheureusement, tous mes fichiers de travail ont été créés sur Excel 2007 (environnement windows PC). Du coup, je ne trouve plus les mêmes fonctionalités Excel 2007 sur Excel / MAC OS, notamment la fonction "créer une liste" bien pratique pour les tableaux dynamiques croisés. Est-ce que quelqu'un pourrait-me dire si elle existe bien sur Excel en version Mac ??? Merci !!!
Répondre à kiki56

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Goldrigger 61, le mercredi 27 février 2008 à 22:39:23
Bonsoir, j'ai également un problème avec Worksheet Change.


Private Sub Worksheet_Change(ByVal sel As Range)

If Cells(1, 2) >= 0 Then
Sheets("Feuil2").Activate
End If

End Sub


En fait dés que je saisie dans une cellule quelconque, ca va automatiquement dans la feuil2.
Alors que je voudrais que si seulement la cellule indiqué change,c'est à ce moment la qu'automatiquement je passe a la feuille 2.
Répondre à Goldrigger 61

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gbinforme, le mercredi 27 février 2008 à 23:36:41
bonjour

Peut-être comme ceci car il faut utiliser "sel" pour savoir sur quelle cellule tu es
Private Sub Worksheet_Change(ByVal sel As Range)

If sel.address = Cells(1, 2).address and  Cells(1, 2) >= 0 Then
Sheets("Feuil2").Activate
End If

End Sub 

Toujours zen
Répondre à gbinforme

13


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le mercredi 27 février 2008 à 23:48:09
Bonjour,

Exemple type :

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Plage As Range

    Set Plage = Application.Intersect(Target, Cells(1, 2))

    If Not (Plage Is Nothing) Then
        Sheets("Feuil2").Activate
    End If

End Sub
'


Lupin
Répondre à Lupin.A

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Goldrigger 61, le jeudi 28 février 2008 à 10:26:28
Ok, ça marche très bien,

j'avais essayé avec sel mais j'avais mis la formule dans une seule expression alors qu'il fallait faire un And.

Merci.
Répondre à Goldrigger 61

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
elodie, le jeudi 6 mars 2008 à 15:36:38
je voudrais savoir comment fait on un fonction ave SI
Répondre à elodie

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gbinforme, le jeudi 6 mars 2008 à 15:49:38
bonjour

Comme tu ne donnes aucune précision sur ton problème c'est impossible de te donner de l'aide.

Avec l'icône fonction (Fx) recherche la fonction SI et cliques sur le lien aide pour cette fonction.
Toujours zen
Répondre à gbinforme

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
arrichris, le vendredi 4 avril 2008 à 01:52:17
Bonjour,
je n'arrive pas à additionner dans une formule plusieurs "SI".
Comment formuler par exemple: A3 est égal à 20% si A1>50000,15% si A1>20000,12% si A1>10000, 8% si A1>5000....
J'ai réussi avec 2 valeurs: 20% et 15% mais impossible d'en ajouter d'autres...
Merci d'avance si quelqu'un peut m'aider pour cette formule.
Répondre à arrichris

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Bleh, le vendredi 18 avril 2008 à 14:53:55
=si(A1>50000;"20%";si(A1>20000;"12%;si(A1>10000;"8%";"x%")))
C'est limité à je ne sais plus combien de conditions...
Répondre à Bleh

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Bleh, le vendredi 18 avril 2008 à 14:56:34
humm... le "&qu­ot;x" a rien à foutre là... le reste est bon.
Ca donne ça :
=si(A1>50000;"20%";si(A1>20000;"12%";si(A1>10000;"8%";4%")))
Répondre à Bleh

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Bleh, le vendredi 18 avril 2008 à 14:58:25
eh merde !
prend le début, capte le principe et laisse tomber la fin de mon truc...
pas vrai, ça !
Répondre à Bleh

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 DADOU, le vendredi 9 mai 2008 à 15:51:23
J’ai un petit problème pour METTRE UNE FORMUNE POUR QUANTIT2 CONSOMMABLE VOIR QUE
Dans la colonne A se trouvent les codes des articles qui se compose des chiffre et des lettre exp : K0012y
Dans la colonne C j’ai la liste des commandes par quantité
Dans la colonne B je dois avoir la consommation nécessaire de la 1ere métier première pour chaque commande
dans le colonne D JE dois avoir la consommation nécessaire de la 2eme métier première pour chaque commande
dans la colonne H je dois avoir la consommation nécessaire de la 3émé matière première pour chaque commande
Les conditions sont les suivants :

si A1=K0012Y alors B1=1.5*C1 et D1=0.3*C2 et H1=0.8*C1
si A1=K0013Y alors B1=1.5*C1 et D1=0.6*C2 et H1=0.7*C1
si A1=K0012 alors B1=2.5*C1 et D1=0.1*C2 et H1=0.2*C1
si A1=K0013 alors B1=1.8*C1 et D1=0.025*C2 et H1=0.18*C1

Comment écrire une formule sur excel pour ce problème ?
Répondre à DADOU

Résultats pour Creation d'une fonction ss Excel

[comment crée un fichier excel en VB] (Résolu) Bonjour forum je voudrais créer un fichier excel en visual basic et je rencontre d'énorme difficulté car je suis nouveau en VB. si quelqu'un peut m'expliquer comment faire, je lui serai trés reconnaissant. merci d'avance. www.commentcamarche.net/forum/affich-1506279-comment-cree-un-fichier-excel-en-vb
Fonction SI excel pq ma fonction marche pas ? (Résolu) Bonjour, Je doit creer une fonction a partir de ceci sous excel : Moins de 100 h de présence 0,25 de 100 à 150 h de présence 0,5 de 150 à 200 h 0,75 plus de 200 1 J'ai crée sa sous excel mais elle ne marche pas savais vous pourquoi ???... www.commentcamarche.net/forum/affich-8212805-fonction-si-excel-pq-ma-fonction-marche-pas
Créer un bouton excel (Résolu) Bonjour, J'ai crée un bouton excel qui doit me servir à ajouter un produit à mon stock à chaque clic . Ce que je voudrai par exemple : J'ai un stock de 32 chevrons de bois, j'en produit un nouveau, alors je clic sur le bouton (excel) et... www.commentcamarche.net/forum/affich-3895721-creer-un-bouton-excel

Résultats pour Creation d'une fonction ss Excel

[VBA] RechercheV PolyvalenteRECHERCHEV POLYVALENTE Pour les accros et les inconditionnels des fonctions d'Excel, avant de crier au scandale, lisez les quelques lignes suivantes. La RechercheV d'origine a beaucoup de limites: La colonne de la donnée doit être avec un... www.commentcamarche.net/faq/sujet-12543-vba-recherchev-polyvalente

Résultats pour Creation d'une fonction ss Excel

Macro excel envoi email avec piéce jointe (Résolu)Bonjour , je suis nouveau stagiaire . Ma question est comment faire pour creer une macro excel qui permet d'envoyer automatiquement un mail (via outlook) avec classeur excel joint. La macro doit ouvrir la feuille excel à mettre à jour (adr de la... www.commentcamarche.net/forum/affich-2253001-macro-excel-envoi-email-avec-piece-jointe
Excel couleur cellule selon condition (Résolu)Bonjour, Je n'arrive pas a activer la fonctionnalité de Excel pour colorer une cellule sous conditions. Je cherche à colorer ma cellule C8 si la valeur qui s'y trouve est supérieure ou égale à celle qui se trouve dans E19. Lorsque je suis... www.commentcamarche.net/forum/affich-3407418-excel-couleur-cellule-selon-condition
Créer une fonction Excel avec 'for' (Résolu)Salut, Je voudrais créer une fonction dans Excel 2003 (SP3) qui me permette de sommer des cellules d'une même couleur de fond. J'ai déjà la fonctin qui teste la couleur d'une cellule : =ColorCell(#cellule) qui renvoie le numéro de la... www.commentcamarche.net/forum/affich-8847585-creer-une-fonction-excel-avec-for