Creation d'une fonction ss Excel
Résolu/Fermé
A voir également:
- Creation d'une fonction ss Excel
- Liste déroulante excel - Guide
- Excel fonction si et - Guide
- Formule excel - Guide
- Déplacer une colonne excel - Guide
- Creation compte gmail - Guide
16 réponses
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
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
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
856
3 févr. 2006 à 00:03
3 févr. 2006 à 00:03
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
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 SubA+
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 ?
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 ?
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
856
4 févr. 2006 à 22:09
4 févr. 2006 à 22:09
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+
ç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+
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
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
LCO2007
Messages postés
1
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
14 août 2007
14 août 2007 à 02:27
14 août 2007 à 02:27
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 :)
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 :)
Utilisateur anonyme
14 août 2007 à 16:42
14 août 2007 à 16:42
Bonjour,
suggestion :
Lupin
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
Je n'ai pas compris comment on fait pour avoir plus de 3 conditions dans Format Mise en forme conditionnelle
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 !!!
Goldrigger 61
Messages postés
77
Date d'inscription
samedi 26 janvier 2008
Statut
Membre
Dernière intervention
27 juin 2008
27 févr. 2008 à 22:39
27 févr. 2008 à 22:39
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.
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.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
27 févr. 2008 à 23:36
27 févr. 2008 à 23:36
bonjour
Peut-être comme ceci car il faut utiliser "sel" pour savoir sur quelle cellule tu es
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
Utilisateur anonyme
27 févr. 2008 à 23:48
27 févr. 2008 à 23:48
Bonjour,
Exemple type :
Lupin
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
Goldrigger 61
Messages postés
77
Date d'inscription
samedi 26 janvier 2008
Statut
Membre
Dernière intervention
27 juin 2008
28 févr. 2008 à 10:26
28 févr. 2008 à 10:26
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.
j'avais essayé avec sel mais j'avais mis la formule dans une seule expression alors qu'il fallait faire un And.
Merci.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
6 mars 2008 à 15:49
6 mars 2008 à 15:49
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.
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.
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.
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.
Utilisateur anonyme
24 août 2007 à 16:54
24 août 2007 à 16:54
Bonjour,
s'il s'agit bien de créer une fonction permettant plus de trois conditions !
exemple :
ou encore :
Lupin
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