[VB-EXCEL] Insertion variable dans formule
Fermé
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
-
24 juil. 2009 à 10:27
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 12 août 2009 à 20:21
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 12 août 2009 à 20:21
Bonjour,
Je souhaiterai savoir s'il est possible de placer une variable dans une formule.
Je m'explique :
Je souhaite inscrire successivement une formule dans une suite de cellules via un code VB car la formule change en fonction de la case choisie dans une list box.
Pour simplifier le code je souhaite savoir si, dans la formule inscrite dans le code, on peut insérer une variable dont la valeur changera suivant la case sélectionnée dans la list box.
PS: Comment inscrire une formule matricielle et non simple formule(.FORMULA) via un code?
Merci Cordialement
Je souhaiterai savoir s'il est possible de placer une variable dans une formule.
Je m'explique :
Je souhaite inscrire successivement une formule dans une suite de cellules via un code VB car la formule change en fonction de la case choisie dans une list box.
Pour simplifier le code je souhaite savoir si, dans la formule inscrite dans le code, on peut insérer une variable dont la valeur changera suivant la case sélectionnée dans la list box.
PS: Comment inscrire une formule matricielle et non simple formule(.FORMULA) via un code?
Merci Cordialement
A voir également:
- [VB-EXCEL] Insertion variable dans formule
- Formule excel si et - Guide
- Formule somme excel colonne - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Liste déroulante excel - Guide
28 réponses
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
275
28 juil. 2009 à 12:07
28 juil. 2009 à 12:07
Bonjour,
Bon quand je test il me trouve non stop des problèmes dans la fonction O_O
Bon quand je test il me trouve non stop des problèmes dans la fonction O_O
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 13:33
28 juil. 2009 à 13:33
quel genre de proble ?
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
275
29 juil. 2009 à 10:12
29 juil. 2009 à 10:12
Bonjour,
Alors j'ai testé tout ça :
- Quand je test sur une colonne dont les cellules contiennent des valeurs qui ne sont pas des dates et qui ne sont pas soumises à une mise en forme conditionnelle, j'obtiens nbvertes = | nboranges= | total = 0
- Quand je test sur une colonne dont les cellules contiennent des dates et qui sont soumises à une mise en forme conditionnelle, j'obtiens à la ligne "If Application.Evaluate(FC.Formula1) Then" l'erreur "incompatibilité de types"...
Comment ça se fait? help me encore plz en attendant je vais reprendre ton fichier et voir un peu encore :s
help merci
Alors j'ai testé tout ça :
- Quand je test sur une colonne dont les cellules contiennent des valeurs qui ne sont pas des dates et qui ne sont pas soumises à une mise en forme conditionnelle, j'obtiens nbvertes = | nboranges= | total = 0
- Quand je test sur une colonne dont les cellules contiennent des dates et qui sont soumises à une mise en forme conditionnelle, j'obtiens à la ligne "If Application.Evaluate(FC.Formula1) Then" l'erreur "incompatibilité de types"...
Comment ça se fait? help me encore plz en attendant je vais reprendre ton fichier et voir un peu encore :s
help merci
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
29 juil. 2009 à 10:31
29 juil. 2009 à 10:31
Ah ben voila.. dis moi exactement comment se fait ta forme conditionnelle...
Dans le module, je ne gere que <,>,<=,>=,=.. alors si c'est autre chose, il le gere pas ;) mais y a moyen de le gérer :p
Dans le module, je ne gere que <,>,<=,>=,=.. alors si c'est autre chose, il le gere pas ;) mais y a moyen de le gérer :p
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
275
29 juil. 2009 à 10:38
29 juil. 2009 à 10:38
Voila :
condition case verte
=SI(AUJOURDHUI()-S178<($S$5*365*0,8);VRAI;FAUX)
condition case rouge
=ET(S178<>"";SI(AUJOURDHUI()-S178>($S$5*365);VRAI;FAUX))
condition case orange
=ET(S178<>"";SI(AUJOURDHUI()-S178>=($S$5*365*0,8);VRAI;FAUX))
Attention ces conditions sont liée à la cellule S178
condition case verte
=SI(AUJOURDHUI()-S178<($S$5*365*0,8);VRAI;FAUX)
condition case rouge
=ET(S178<>"";SI(AUJOURDHUI()-S178>($S$5*365);VRAI;FAUX))
condition case orange
=ET(S178<>"";SI(AUJOURDHUI()-S178>=($S$5*365*0,8);VRAI;FAUX))
Attention ces conditions sont liée à la cellule S178
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
275
>
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
29 juil. 2009 à 14:36
29 juil. 2009 à 14:36
lol tu t'en sors? moi j'galère sur une fenêtre à enlever le mastic actuellement :(
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
29 juil. 2009 à 16:01
29 juil. 2009 à 16:01
Alors.. apres une grosse recherche et une mega prise de tete.. je pense que j'ai trouver.. mais ca va pas etre facile à gérer..
Le truc c'est que evaluate evalue la fonction au format anglais.. donc tes si, aujourdhui, faux et vrai.. ben .. ca loui plait pas...
J'essai de trouver une parade ;)
Le truc c'est que evaluate evalue la fonction au format anglais.. donc tes si, aujourdhui, faux et vrai.. ben .. ca loui plait pas...
J'essai de trouver une parade ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
29 juil. 2009 à 16:12
29 juil. 2009 à 16:12
une piste ici...
http://www.glossaire.be/english_french/glossaire_excel_fonction_anglais_francais.htm
mais c'est pas du gateau:s
http://www.glossaire.be/english_french/glossaire_excel_fonction_anglais_francais.htm
mais c'est pas du gateau:s
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
29 juil. 2009 à 17:29
29 juil. 2009 à 17:29
Sinon, met ta formule dans une autre case qui renverrais 1 2 ou 3 (sans passer par la forme conditionnelle. et en fonction faire la forme conditionnelle en passant par l'assistant (<,<=,>,>=;==) qui lui est gérer par le module ;)
Enfin, si tu m a compris :p
mais je continu de chercher ;)
Enfin, si tu m a compris :p
mais je continu de chercher ;)
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
275
29 juil. 2009 à 19:50
29 juil. 2009 à 19:50
re
Bon alors on a 2 choix
- ou tu te casses toute la nuit pour moi car j'avoue que je suis dépassé la et jdois finir pour demain aprem.
- ou si j'ai bien compris je mets ça via des formules dans une page cachée spéciale pour la synthèse avec 1,2,3...
Mais dans ce cas il me faudrait la formule à mettre dans la page cachée et me donner donc l'appel modifié de la fonction VB
Je suis désolé de te demander de marcher mon travail mais la j'arrive au bout du délai et j'aimerai que tout soit près.
Malheureusement je n'ai pas le fichier car je ne peux pas le sortir du taff en tous cas merci!
Bon alors on a 2 choix
- ou tu te casses toute la nuit pour moi car j'avoue que je suis dépassé la et jdois finir pour demain aprem.
- ou si j'ai bien compris je mets ça via des formules dans une page cachée spéciale pour la synthèse avec 1,2,3...
Mais dans ce cas il me faudrait la formule à mettre dans la page cachée et me donner donc l'appel modifié de la fonction VB
Je suis désolé de te demander de marcher mon travail mais la j'arrive au bout du délai et j'aimerai que tout soit près.
Malheureusement je n'ai pas le fichier car je ne peux pas le sortir du taff en tous cas merci!
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
>
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
30 juil. 2009 à 10:15
30 juil. 2009 à 10:15
ah ben je pense que c'est trop tard alors :s
Bon, ben petite explication quabd meme.. au cas ou...
Actuellement tu à une mise en forme conditionnelle qui à 3 formules :
condition case verte
=SI(AUJOURDHUI()-S178<($S$5*365*0,8);VRAI;FAUX)
condition case rouge
=ET(S178<>"";SI(AUJOURDHUI()-S178>($S$5*365);VRAI;FAUX))
condition case orange
=ET(S178<>"";SI(AUJOURDHUI()-S178>($S$5*365);VRAI;FAUX))
ma solution serrait de mettre dans une autre colonne :
=SI(AUJOURDHUI()-S178<($S$5*365*0,8);1;SI(AUJOURDHUI()-S178>($S$5*365);2;SI(AUJOURDHUI()-S178>($S$5*365);3;4)))
En esperant que tu n ai jamais 4...
donc ca t'affiche 1 2 3.. et donc tu peux faire la mise en forme conditionnelle sur cette colonne avec plutot que 'la formule est' choisir 'la valeur de la cellule est' et là, le module fonctionnera ;)
Bon, ben petite explication quabd meme.. au cas ou...
Actuellement tu à une mise en forme conditionnelle qui à 3 formules :
condition case verte
=SI(AUJOURDHUI()-S178<($S$5*365*0,8);VRAI;FAUX)
condition case rouge
=ET(S178<>"";SI(AUJOURDHUI()-S178>($S$5*365);VRAI;FAUX))
condition case orange
=ET(S178<>"";SI(AUJOURDHUI()-S178>($S$5*365);VRAI;FAUX))
ma solution serrait de mettre dans une autre colonne :
=SI(AUJOURDHUI()-S178<($S$5*365*0,8);1;SI(AUJOURDHUI()-S178>($S$5*365);2;SI(AUJOURDHUI()-S178>($S$5*365);3;4)))
En esperant que tu n ai jamais 4...
donc ca t'affiche 1 2 3.. et donc tu peux faire la mise en forme conditionnelle sur cette colonne avec plutot que 'la formule est' choisir 'la valeur de la cellule est' et là, le module fonctionnera ;)
Doudou95
Messages postés
1561
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
30 avril 2019
275
12 août 2009 à 09:08
12 août 2009 à 09:08
Coucou
d'abord merci pour ton aide alors je suis passé par une feuille de calcul et via la formule Si(G9<>"";Si(G9+($G$5*365)<AUJOURD'HUI;0;1);"TEXTE")
(peut être une faute les 2 pc sont pas cote à cote)
Bref je passe par cette formule ca me donne donc bien par le NB.SI de valeur 1 le même nombre de personnes que dans la synthèse globale du fichier.
Maintenant je sais pas comment y inclure une triple condition
ca reprend l'idée d'avant en prog c'est à dire :
Si L1 = "1" (date verte ou orange) ET Si A1 = "Direction" (service) ET Si B1 = "Chef" (poste)
une idée ? je veux pas faire d'erreurs de syntaxe ou autre car après cette formule s'adapte à chaque "service" et "poste" si je puis dire.
merci de ton aide
d'abord merci pour ton aide alors je suis passé par une feuille de calcul et via la formule Si(G9<>"";Si(G9+($G$5*365)<AUJOURD'HUI;0;1);"TEXTE")
(peut être une faute les 2 pc sont pas cote à cote)
Bref je passe par cette formule ca me donne donc bien par le NB.SI de valeur 1 le même nombre de personnes que dans la synthèse globale du fichier.
Maintenant je sais pas comment y inclure une triple condition
ca reprend l'idée d'avant en prog c'est à dire :
Si L1 = "1" (date verte ou orange) ET Si A1 = "Direction" (service) ET Si B1 = "Chef" (poste)
une idée ? je veux pas faire d'erreurs de syntaxe ou autre car après cette formule s'adapte à chaque "service" et "poste" si je puis dire.
merci de ton aide
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
12 août 2009 à 20:21
12 août 2009 à 20:21
re ;)
envoie moi un exemple car là... je sait pas si tu est en forme conditionnelle ou pas ... pour info, j ai garder les exemples que j avais tester pour toi ;)
envoie moi un exemple car là... je sait pas si tu est en forme conditionnelle ou pas ... pour info, j ai garder les exemples que j avais tester pour toi ;)