help sur Excel

S

Sdc

Guest
Bonjour à tous,
Je bosse sur une feuille de calcul Excel pour faire des devis, et je cherche à faire un bilan automatique de mes matériaux à acheter.
Je m'explique :
j'ai environ 30 feuilles dans ma matrice de calcul, et j'utilise des matériaux récurents ou isolés avec leur prix de revient, la quantité, le coef de marge et le PV.
Je souhaite qu'une page de bilan fasse une analyse de chacune des feuille, qu'elle récapitule les matériaux, et le prix de revient correspondant, et si elle trouve des matériaux identiques (ex : page 1 il y a du 'médium 10mm' et dans la page 2 aussi), le PR de ces postes récurents est additionné.
Voilà je sais pas si c'est clair, en tout cas voici un petit classeur exemple où la feuille bilan est rempli manuellement, le but biensur est qu'elle se remplisse automatiquement ...
Merci d'avance. [file name=essai_20050929163927.zip size=2487]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essai_20050929163927.zip[/file]
 

Pièces jointes

  • essai_20050929163927.zip
    2.4 KB · Affichages: 14

Hervé

XLDnaute Barbatruc
Supporter XLD
Bonsoir SDC, le forum

Une proposition en vba en pièce jointe.

salut
[file name=essaiv2.zip size=10641]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essaiv2.zip[/file]
 

Pièces jointes

  • essaiv2.zip
    23.6 KB · Affichages: 28
  • essaiv2.zip
    23.6 KB · Affichages: 26
  • essaiv2.zip
    23.6 KB · Affichages: 23

Hervé

XLDnaute Barbatruc
Supporter XLD
re sbc, le forum

Au faite, SBC, pas terrible le titre de ton post. Sur le forum il existe un moteur de recherche quotidiennement utilisé par des milliers (bientôt des millions :) ) de personnes.

On se doit donc de mettre des titres cohérents afin de pouvoir aider les autres contributeurs.

salut
 

andré

XLDnaute Barbatruc
Salut Sdc,

Voilà une question que je connais bien.
Je crains toutefois que la façon dont tu présentes le problème, il soit difficile d'y apporter une solution, surtout sur une 30aine de feuilles.

Voici, en gros, comment je pratique.

J'ai d'abord créé une feuille avec tous les postes types, un code pour les différencier, et leur différentes composantes (coëfficient, prix unitaire, ...)

Ensuite, je place mes calculs sur une même feuille (avec 65536 lignes, il y a de quoi faire !)
Je les groupe en plans (menu Données / Créer et grouper un plan), pour pouvoir les retrouver facilement (tout aussi aisé que des onglets)

J'appelle les matériaux par leur numéros de code et les autres composantes de ce poste s'inscrivent automatiquement.

Pour finir, il n'est pas difficile sous la feuille bilan, par formule, de créer une liste des différents codes, d'y adjoindre leur description, d'additionner les différentes quantités et de les multilpier par leur prix unitaire.

J'ai même été plus loin.
Pour chaque matériau, j'indique le nom du fournisseur, ce qui me permet de créer un bon de commande par forunisseur, avec la liste des matériaux qu'il doit fournir, leur prix unitaire et le total de la commande.

Il suffit de coller un timbre sur l'enveloppe (lol).

Refléchis à cette procédure, j'en ai essayé beaucoup d'autres, mais je n'ai pas encore trouvé mieux.

Â+
 
S

Sdc

Guest
Ca fonctionne au poil, merci Hervé, malheureusement je comprends rien au language vba :eek: et si j'arrive un jour à comprendre (je garde ton doc sous le coude et l'étudie à fond) est-ce que ça marchera sur 30 pages et plus ?
André ta méthode me semble encore plus complexe que celle d'Hervé :unsure:
Désolé en tout cas pour le titre de mon sujet, je savais pas trop comment ammener la chose !
Encore merci.
Sdc.
 
S

Sdc

Guest
Salut Hervé,
J'ai essayé d'appliquer ta macro à ma matrice, mais ça merdouille, je comprends pas tout dans le code et ça me génère + d'additions qu'il n'en faut, il me met aussi des postes qui n'ont rien à voir avec ce que je cherche. J'ai hébergé la matrice en question Ce lien n'existe plus, elle fait quasiment 1Mo, et les postes que je souhaite additionner et voir apparaître dans la page 'Matériaux' sont les cellules a32 à a38 (autres matériaux) et a42 à a45 (sous traitants) de chacune des pages de calcul (1 à 33).
Merci d'avance.
Sdc.
 

Hervé

XLDnaute Barbatruc
Supporter XLD
Bonjour sdc

Ton souci vient de la syntaxe que tu as utilisé pour boucler sur les feuilles :

If ws.Name <> 'bilanSuivi' & 'Feuil1' & 'fax' & 'faxDesc' & 'Hypothèses' & 'BC' & 'clientèle' & 'Rens' & 'M.O' & 'Matériaux' & 'Pratos' & 'Biblio' & 'RECAP' & 'client' & 'liv' Then


cette syntaxe concatene les éléments (feuil1.....), et comme tu n'a pas de feuille s'appelant : 'bilansuiviefeuil1fasfaxdeschypothèsesbc....' la macro boucle sur toutes les feuilles :

la bonne syntaxe :

If ws.Name <> 'bilanSuivi' And ws.Name <> 'Feuil1' And ws.Name <> 'fax' ....

sinon, si tes feuilles portent toujours un numéro, tu peux essayer ceci :

If IsNumeric(ws.Name) Then

salut

Message édité par: Hervé, à: 30/09/2005 13:10
 

Hervé

XLDnaute Barbatruc
Supporter XLD
re

Autres choses, ce type de code ne se place pas dans un module de feuille, mais dans un module standard (module1).

De plus pour les autres macros du style :

&nbsp; &nbsp; Rows('118:191').Select
&nbsp; &nbsp; Selection.EntireRow.Hidden =
False
&nbsp; &nbsp; Range('A118').Select

tu peux remplacer par :

&nbsp; &nbsp; Rows('118:191').EntireRow.Hidden = False

tu n'es pas obligé de sélectionner une ligne ou une cellule (ou quoi que ce soit) pour travailler dessus.

salut
 

Sdc

XLDnaute Nouveau
Hervé, on touche au but B)
j'ai remplacé la ligne par

If IsNumeric(ws.Name) Then

car effectivement toutes mes pages ont un chiffre, par contre je voulais uniquement les cellules a32 à a38 et a42 à a45 mais il m'intègre aussi les 3 lignes (a39 à a41) que je veux pas voir apparaîte dans la page 'Matériaux' :ermm:
Je crois que ça vient de cette ligne, mais j'en sais rien en fait :

For Each c In .Range('a32:a38', 'a42:a45')

Voilou, après je laisse tranquile :p
Sdc.
 

Statistiques des forums

Discussions
300 823
Messages
1 987 483
Membres
209 865
dernier inscrit
MALICK SENE