Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1402 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Calculs élaborés avec Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Calculs élaborés avec Excel

n°1847333
bingojm
Posté le 04-02-2009 à 22:00:58  profilanswer
 

Bonjour à tous,
 
Je voudrais créer un formulaire dans Excel (ça je sais faire), mais je voudrais créer des conditions d'addition et de calculs une fois le formulaire rempli.
Je ne maîtrise guère Excel à ce niveau là, alors avec quoi puis-je créer ces formules et leurs conditions? Visual Basic? Si oui, connaissez-vous un bon site clair pour débutant qui expiquerait comment réaliser des calculs avec conditions et afficher les réponses adaptées à ces conditions?
 
J'espère que je suis clair... :s
 
Ex:
Garage: 1
Salon: 2
Chambre: 5
Y a-t-il un jardin: oui
Y a-t-il une piscine: non
...
Total d'éléments: ???
 
 
Je voudrais par exemple additionner le total des pièces ET de oui! Mais aussi limiter, par exemple, le nombre de pièces à l'étage à 4 (même si on a écrit 5) et encore mieux, qu'un message s'affiche dans une cellule définie si on a dépassé les 4 pièces par exemple...
Il y a une infinité de choses à réaliser en ce sens, mais avec quoi réalise-t-on ce genre de choses dans Excel?
Merci d'avance

Message cité 1 fois
Message édité par bingojm le 04-02-2009 à 22:01:21
mood
Publicité
Posté le 04-02-2009 à 22:00:58  profilanswer
 

n°1847479
Ptit loup
Quand c'est flou, y'a un loup
Posté le 05-02-2009 à 10:56:57  profilanswer
 

Tu veux un cours d'Excel en gros si j'ai bien saisi...
 
On réalise ce genre de chose, avec des conditions 'SI' essentiellement...
Maintenant il est possible de faire des choses très complexes.
 
Un point essentiel, reste à poser clairement et définir clairement ce que tu veux faire, de manière à ce que la transcription en formule devienne évidente.
 
Qq site pour débuter, et même pour aller bcp plus loin :
Utilisation des fonctions Excel dans VBA
Excel - nouvelles fonctions
FAQ MS-Excel - Club d'entraide des développeurs francophones
 

n°1847500
bingojm
Posté le 05-02-2009 à 11:39:41  profilanswer
 

Merci Ptit loup.
Donc si j'ai bien compris tous ces calculs complexes doivent s'écrire avec VBA. Et je peux déclencher ces actions en cliquant sur un bouton. C'est bien ça? Pcq c'est VBA que je ne connais pas encore. Je ne comprends pas bien comment on lance ces actions. Est-ce qu'elles se lancent avec des macros, automatiquement?

n°1847504
Ptit loup
Quand c'est flou, y'a un loup
Posté le 05-02-2009 à 12:06:03  profilanswer
 

Non non... plein de calculs complexes peuvent être écrits avec les fonctions... mais bon, que te dire de plus que l'aide Excel... ?
le si fonctionne ainsi : Si (condition, valeur si oui, valeur si faux); donc rien de très dur à comprendre... maintenant il existe plein d'autres fonctions qui te serviront... il faut être curieux et regarder dans les fonctions d'Excel... je n'ai pas vraiment d'autre conseil.
 
Sinon, oui, le VBA peut être déclenché par un bouton qui lance en fait la macro.
 

n°1847524
TAM136
Posté le 05-02-2009 à 13:01:13  profilanswer
 

bingojm a écrit :

Bonjour à tous,
 
Je voudrais créer un formulaire dans Excel (ça je sais faire), mais je voudrais créer des conditions d'addition et de calculs une fois le formulaire rempli.
Je ne maîtrise guère Excel à ce niveau là, alors avec quoi puis-je créer ces formules et leurs conditions? Visual Basic? Si oui, connaissez-vous un bon site clair pour débutant qui expiquerait comment réaliser des calculs avec conditions et afficher les réponses adaptées à ces conditions?
 
J'espère que je suis clair... :s
 
Ex:
Garage: 1
Salon: 2
Chambre: 5
Y a-t-il un jardin: oui
Y a-t-il une piscine: non
...
Total d'éléments: ???
 
 
Je voudrais par exemple additionner le total des pièces ET de oui! Mais aussi limiter, par exemple, le nombre de pièces à l'étage à 4 (même si on a écrit 5) et encore mieux, qu'un message s'affiche dans une cellule définie si on a dépassé les 4 pièces par exemple...
Il y a une infinité de choses à réaliser en ce sens, mais avec quoi réalise-t-on ce genre de choses dans Excel?
Merci d'avance


 
Salut,
 
Tu es assez flou dans ce que tu veux calculer précisément.Comme le dit Ptit loup, pas besoin nécessairement de VBA.Pour ce qui est du message d'alerte par exemple,tu peux aller jeter un oeil dans Données/Validation.Pour ce qui est du nombre de Et de oui, impossible de le faire directement.C'est comme additionner des torchons et des serviettes.Il suffit à mon avis d'ajouter une colonne et de mettre une formule si=oui, alors 1....

n°1847531
tetev
Posté le 05-02-2009 à 13:24:21  profilanswer
 

Bonjour,
 
Je me perds un peu dans le forum, mais bon le sujet traite de VBA et d'excel donc je vais supposer que je suis au bon endroit ! (quoique !)
 
J'ai un souci, j'ai un code VBA qui est sensé me sommer par la couleur.
 
Eh bien je ne sais pas comment le faire tourner (Le compiler ?), quoiqu'il en soit, j'ai enregistré une macro, je l'ai stoppé puis j'ai cliqué sur modifier, la je colle le code ... et ensuite ... comment faire tourner le code, quelle étape me manque t'il pour avoir la somme en bas de ma colone !
 
 
Dslè si je squatte un sujet, mais je ne c pas trop utiliser le forum, d'ailleurs je suis aussi preneur d'un tuto pour cela,
 
Merci,
 
Tétèv

n°1847536
tetev
Posté le 05-02-2009 à 13:33:58  profilanswer
 

Euh, mdr, au passage je pense que je peut, peut être t'aider Bingo JM, mais le tout est assez flou !
 
Pour ce qui est des formules :
ex :
si en Colonne pour Garage on va dire tu es en A1, Salon A2 ...
Tu sera en B pour la valeur correspondante :
 
   A                         B
1 Garage                  2
2 Salon                     2
X ...                          ...
Total d'élement"=somme(B1;Bx)"
Total de oui : je ne sait pas trop mais une astuce peut etre, tu utilise un 1 et un 0 (1 pour oui et 0 pour non)
 
ex : dans la cellule juste à coté de la réponse tu tapes, mettons si ta réponse est en B10, tu tapes dans B11 =si(b10:"oui";1;0" )
 
et tu somme le tout, que tu somme avec ta précédente somme
 
Si dans une tu as dépasser 4 pièces tu écrit un Si avec un >4 = "erreur" !

n°1847548
Ptit loup
Quand c'est flou, y'a un loup
Posté le 05-02-2009 à 14:08:20  profilanswer
 

Je corrige ce qui as été dit... on peut facilement sommer le nb de oui, et l'ajouter au nb de pièces...
Si par exemple dans la plage A1:A6, on a des nombres, ainsi que des oui/non, on peut compter la somme des nb ainsi que le nb de oui:
=SOMME(A1:A6)+NB.SI(A1:A6;"oui" )

n°1847711
tetev
Posté le 05-02-2009 à 19:27:08  profilanswer
 

re
 
je l'avais oublié celle là, cool !
merci ptit loup
 
quelqu'un pour mon pb vba ?

n°1847753
tetev
Posté le 05-02-2009 à 22:59:09  profilanswer
 

personne ?

mood
Publicité
Posté le 05-02-2009 à 22:59:09  profilanswer
 

n°1847804
Ptit loup
Quand c'est flou, y'a un loup
Posté le 06-02-2009 à 09:44:44  profilanswer
 

c'est quoi ton souci tetev ???

n°1848239
tetev
Posté le 07-02-2009 à 02:03:44  profilanswer
 

Bonjour Ptit loup,
 
Voici un peu mon pb :
 
Situation voulue : lancer ma macro vba  
Problème observée : après avoir collée mon code dans Microsoft Visual Basic, je ne sait pas ou cliquer pour que la macro soit enregistrée ...
 
je suis certain que ce n'est pas compliqué, j'ai cherché ...(exécuter subform, compiler (normalement on compile un code) ... enregistré ... rien n'y fait l'éditeur ne se ferme pas !
 
Des fois je ferme en pensant que le code est enregistré et que je peut faire tourner mon progamme, mais aucun résultat n 'apparait !
 
J'espère être assez clair en fait, je ne c pas quoi faire après avoir collé mon code dans l'éditeur (le code est correct !)
 
 
Merci pour l'attention !
 
Tétèv !

n°1848294
bingojm
Posté le 07-02-2009 à 12:29:01  profilanswer
 

Je suis tout débutant, mais ça je pense que j'ai compris... tu fermes simplement l'éditeur!  
Normalement, avant d'avoir écrit ton code, tu as créer un nouveau module, et écrit ton code dans celui-ci.
Ensuite tu fermes l'éditeur, puis tu lances ta macro (c'est peut-etre ca que tu ne faisais pas)...

n°1848343
tetev
Posté le 07-02-2009 à 15:47:25  profilanswer
 

Up !
 
Salut Bingojm,
 
J'ai fermé mon éditeur, je me retrouve sur mon classeur .xls, après un alt F8 je ne voit que mes anciennes requêtes enregistrées, rien sur le code vba qui vient d'être fermé ...
 
J'en profite pour faire un up ...
 
De mon coté je vais utiliser cet après midi pour continuer à chercher ... pour enfin pouvoir commencer à écrire d'autres codes!
 
Merci bingojm en tout cas !
 
Up !
 
Tétèv !

n°1848344
tetev
Posté le 07-02-2009 à 15:49:48  profilanswer
 

au passage voici le code :
 
Function SumByColor(PlageEntree As Range, CouleurPlage As Range) As Double
Dim Cell As Range, TempSum As Double, ColorIndex As Integer
ColorIndex = CouleurPlage.Cells(1, 1).Interior.ColorIndex
TempSum = 0
On Error Resume Next
For Each Cell In PlageEntree.Cells
If Cell.Formula <> "" Then
If Cell.Interior.ColorIndex = ColorIndex Then TempSum = TempSum + _
Cell.Value
End If
Next Cell
On Error GoTo 0
Set Cell = Nothing
SumByColor = TempSum
End Function
' modifiemenucontextuel Macro
' Macro enregistrée le 05/02/2009 par téva
'
' Touche de raccourci du clavier: Ctrl+m
'
End Function

n°1848347
bingojm
Posté le 07-02-2009 à 15:59:39  profilanswer
 

si tu ne vois rien en faisant alt F8 c'est que tu n"as pas créé de macro!
Pour en créer une, tu ouvres VBA et tu fais insérer > module.
Une fois ton code macro écrit, tu fermes l'éditeur et là, si tu fais altF8, tu le verras:)


Message édité par bingojm le 07-02-2009 à 16:00:07
n°1848353
tetev
Posté le 07-02-2009 à 16:21:38  profilanswer
 

RE,

 

après un altF11, je vais dans inserer > module, je colle la macro, je ferme l'éditeur, je fait un alt F8 pour vérifier ... rien concernant cette macro !


Message édité par tetev le 07-02-2009 à 16:23:58
n°1848362
tetev
Posté le 07-02-2009 à 16:49:42  profilanswer
 

Je viens de découvrir quelque chose, lorsque je sélectionne toutes les feuilles du classeur > CLIC droit > visualiser les codes, parmi les codes présents se trouve celui là, mais je ne le vois pas dans altF8 ... de plus aucune somme n'est affichée ...
 
Je vais chercher feuilles par feuilles (il y a en 18) pour voir si le code n'est pas enregistré sur l'une d'entre elles !
 
Merci pour ton aide bingojm,  
 
merci aussi ptitLoup pour tes messages précédents sur "Excel : vos questions et astuces

n°1848366
tetev
Posté le 07-02-2009 à 16:55:41  profilanswer
 

Bon ... je vais enfin pouvoir être un petit peu plus spécifique :
 
Sur une des feuilles (probablement parceque j'étais sur elle lors de la création du code) se situe mon code (sur l'onglet clic droit visualiser le code) ! par contre aucune trace de l'opération demandé, ni aucune trace du code dans altF8 !

n°1848367
bingojm
Posté le 07-02-2009 à 16:56:06  profilanswer
 

Normalement qd tu es dans VBA, tu as un cadre en haut à gauche et tu vois tes feuilles, tes modules etc. Et tes modules sont présents pour toutes les feuilles, donc ca devrait aller!
cela dit, j'utilise office 2007, mais je ne pense pas que ca soit différent d'avant

n°1848369
bingojm
Posté le 07-02-2009 à 16:58:35  profilanswer
 

non je crois savoir...
Tu dois avoir mal ecrit ta macro (dans module)!
Tu dois commencer par :
sub nomdetamacro()
...
End sub

n°1848374
tetev
Posté le 07-02-2009 à 17:04:56  profilanswer
 

Bingojm,
 
GRAND GRAND GRAND GRAND GRAND MERCI
 
 
ça y est elle est dans mon altF8, j'ai pas vérifié si elle tournait (parce que le pb viendrait du code et ça c autre chose)
 
Merci beaucoup encore !!

n°1848378
tetev
Posté le 07-02-2009 à 17:12:18  profilanswer
 

erreur de compilation end sub attendu Sub sumcolor()

 


ok j'ai compris il faut mettre le end sub juste en dessous du sub

 

c un peu différent de l'algo tout compte fait ou l'on mets les "fin" à la fin

 

c cool, le code fonctionne, maintenant il faut je lui fasse faire les différences entre les couleurs ...

 


encore merci à tous !

 


MON PB EST RESOLU

 


Message édité par tetev le 07-02-2009 à 17:15:49
n°1848382
bingojm
Posté le 07-02-2009 à 17:15:08  profilanswer
 

quel est ton code dans ton module et qd tu fais un débogage il doit te dire quelle ligne pose problème

n°1848384
bingojm
Posté le 07-02-2009 à 17:16:49  profilanswer
 

ca vient d'où ce début de code: "Erreur de compilation..."
Ca doit commencer par sub

n°1848388
tetev
Posté le 07-02-2009 à 17:20:07  profilanswer
 

non c moi qui ai fait un copié du pop up d'aide de vba que j'ai collé dans le message précédent juste avant le code pour expliquer le pb, en fait j'avais mis le end sub tout à la fin du code, après le end function, et apparement il fallait que je le mette juste après le sub .... :) :) :) :) :)
 
tout fonctionne comme sur des roulettes !
 
 
:):):):):):):):):):):):):):):):):):):):):):)

n°1848389
bingojm
Posté le 07-02-2009 à 17:20:22  profilanswer
 

ok. j'avais pas vu ta réponse.
voilà qui est parfait. bonne chance pour la suite

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Calculs élaborés avec Excel

 

Sujets relatifs
macro Excel VBA : pb dans la création automatique de graphiquesExcel: convertion nombre en minute
Problème séparateurs lors de la conversion d'un fichier csv en excelSupprimer des lignes sous Excel
Optimisation d'un code VBA pour excel[macro excel] encadrer certaines cellules
Concatenation de 2 fichiers excel.[VBA Excel] Procédure redondante dans Userform
Une sorte de comparaison d'un fichier excel et une table access.selection entre deux textes (dans word a partir d'excel)
Plus de sujets relatifs à : Calculs élaborés avec Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR