feuille de métré
#1
Débutant XLPages

Inscription: 04/01/2010

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 05-01-2010 20h16
Bonjour le forum et meilleur voeux à tous

J' essaye de créer une feuille de métré (Bâtiment)avec excel pour ma formation,mais ne connaissant pas grand chose d' excel, je bute.
Je vous joins donc le classeur avec quelques explications dessus
- la formule que je dois utiliser à trop d' éléments à prendre en compte
et est-il possible de simplifier avec des macros à la place des formules, je n' arrive pas à trouver ce qui est le mieux.

Merci si vous pouvez m' aider.

Cordialement
Hors Ligne
Rapport   Haut 

Re: feuille de métré
#2
Débutant XLPages

Inscription: 04/01/2010

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 05-01-2010 20h19
J' ai oublié la pièce jointe que voici

Pièce jointe:
zip Métré essai 4.zip   [ Taille: 25.80 Ko - Téléchargements: 4895 ]
Hors Ligne
Rapport   Haut 

Re: feuille de métré
#3
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 06-01-2010 16h08
Bonjour Celysi,

Je crois qu'on a répondu à ta question au http://www.excel-downloads.com/forum/ ... tr-formule-ou-vba-ou.html

Citation :
Merci Hoerwind,
ça fonctionne, je vais voir comment mettre en œuvre cela dans ma feuille
je reviendrais vers vous tous pour une autre question, mais quand j' aurais avancé un peu dans la mise en forme


La pêche est un sport noble cependant il est quelque peu inconvenant de le pratiquer dans les forums.

Cordialement,

Guy




Hors Ligne
Rapport   Haut 

Re: feuille de métré
#4
Débutant XLPages

Inscription: 04/01/2010

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 06-01-2010 20h26
Bonsoir Guy,

Oui, j' ai posé la question sur un autre forum, je pensais avoir des réponses différentes, parce que les personnes sont différentes, afin de me permettre de progresser dans la connaissance d' Excel qui est un logiciel que j' aime beaucoup, mais j' ai du mal à rentrer dans la programmation VBA, malgrés l' aide de livres.
Voilà la raison, il n' y pas d' autres raisons.

Cordialement

Celysi
Hors Ligne
Rapport   Haut 

Re: feuille de métré
#5
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 06-01-2010 20h47
Bonjour,

Alors on peut croire que ce fil est résolu?

Si oui prière de l'indiquer.

Cordialement,

Guy

Hors Ligne
Rapport   Haut 

Re: feuille de métré
#6
Débutant XLPages

Inscription: 04/01/2010

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 06-01-2010 21h40
Bonsoir,

Ne peut-on pas en gardant la mise en page actuelle travailler avec des macros? Faire prendre les données et selon le code choisi lui faire afficher le résultat dans la cellule choisi?
En remplacement des formules?

Cordialement

Celysi
Hors Ligne
Rapport   Haut 

Re: feuille de métré
#7
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 07-01-2010 00h33
Bonjour Celysi,

À vue de nez (un pic, un cap, une péninsule) c'est possible.

Et si tous les forums s'y mettent ce sera de la tarte.

J'y jette un oeil en toute bonne foi (pas la cirrhose, l'autre truc qui ne tient à rien mais qui soulève les montagnes)

Demain est un autre jour (truisme).

Cordialement,

Guy



Hors Ligne
Rapport   Haut 

Re: feuille de métré
#8
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 07-01-2010 11h56
Bonjour Celysi,

Petit classeur qui porte du code pour remplacer la formule

######## Formule en cellule M11 en pseudo-code ########
 SI_00($C11=1 ALORS
   SI_01($B11<>"+" ALORS
     SI_02($B11<>"-" ALORS
       SI_03($B11<>"x" ALORS
         SI_04($B11<>":" ALORS
           ""
         SINON_04
           $A11*($F11/$H11))
         FIN_SI_04
       SINON_03
         $E11*$F11*$H11*$J11*$L11)
       FIN_SI_03
     SINON_02
       $E11*($F11-$H11-$J11-$L11))
     FIN_SI_02
    SINON_01
     $E11*($F11+$H11+$J11+$L11))
    FIN_SI_01
 SINON_00
    "")
 FIN_SI_00

Comme noté dans les commentaires du code la solution par formule me semble plus simple.

J'ai téléchargé le classeur de Excel-Downloads.com puis l'ai modifié, d'où le nom du classeur.

Il se peut que je me sois pris les pieds dans mes lacets de bottines auquel cas me le signifier.

Cordialement,

Guy




Pièce jointe:
zip CalculMétré_Mod.zip   [ Taille: 32.22 Ko - Téléchargements: 1599 ]
Edité par Guy le 07/01/2010 12:17:34

Hors Ligne
Rapport   Haut 

Re: feuille de métré
#9
Débutant XLPages

Inscription: 04/01/2010

Messages: 6

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 07-01-2010 22h02
Bonsoir le Forum, Bonsoir Guy

Je vous remercie beaucoup, c' est exactement ce que je veux, je m' explique vite fais, l' autre méthode est bien, mais quand je veux récupérer une valeur calculée dans une autre cellule avec lien si elle est modifiée, je suis obligé de mettre la référence et donc quand j' imprime j' ai un "F15" qui se promène ce qui n' a pas de sens.

J' ai analysé le code, j' ai compris le sens mais je n' ai pas saisi toute l' imbrication, aussi je suis incapable de modifier 2 choses :
- 1ere chose :
Case 2
      ' $E11*($F11-$H11-$J11-$L11)
      For I = 0 To 3
        Par = Par - Cells(Index, (2 * I) + 6)
      Next
     
      F = Cells(Index, 5) * Par


Ne fonctionne pas car le 1er Par soit F11 est négatif et donc fausse le résultat, en écrivant, je pense à cette solution, est-elle bonne ?

Case 2
      ' $E11*($F11-$H11-$J11-$L11)
  Par=Cells(Index,8)
      For I = 1 To 3
        Par = Par - Cells(Index, (2 * I) + 6)
      Next
     
      F = Cells(Index, 5) * Par


2eme chose

Case 3
      ' $E11*$F11*$H11*$J11*$L11)
      Par = 1
      For I = 0 To 3
        Par = Par * Cells(Index, (2 * I) + 6)
      Next
     
      F = Cells(Index, 5) * Par


Pour cette formule je suis confronter au problème que si ma dernière et avant dernière valeur n' est pas <> de 0 j' ai une résultat nul

J' avais pensé à ce type de formule : si($L11<>0;$E11*$F11*$H11*$J11*$L11;si($J11<>0;$E11*$F11*$H11*$J11;$E11*$F11*$H11))
Comment l' inscrire dans le code?

Quelques précisions pour apprendre :

Dim Par As Long  
  Dim I As Long
   
  Select Case Op

Par et I sont 2 noms de variables que vous avez choisis ,
A quoi ait référence Op?
Quand est ce que dans le code il est noté que quand j' écris un + dans la colonne 2 c' est Case 1 qui doit calculer?

Encore merci pour votre précieuse aide

Cordialement

Celysi
Hors Ligne
Rapport   Haut 

Re: feuille de métré
#10
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 08-01-2010 15h59
Bonjour Celysi,

Tout d'abord je dois dire que tes questions sont tout à fait pertinentes. Je tente d'y répondre dans l'ordre.

1 - Le bout de code

   Case 2
      ' $E11*($F11-$H11-$J11-$L11)
      For I = 0 To 3
        Par = Par - Cells(Index, (2 * I) + 6)
      Next
     
      F = Cells(Index, 5) * Par


    Est effectivement erroné et aurait dû s'écrire

   Case 2
      ' $E11*($F11-$H11-$J11-$L11)
      Par = Cells(Index, 6) ' Correspond à la colonne F
      For I = 1 To 3 ' Soustrait de F les valeurs en H, J et L
        Par = Par - Cells(Index, (2 * I) + 6)
      Next
     
      F = Cells(Index, 5) * Par


2-  Citation :
Pour cette formule je suis confronté au problème que si ma dernière et avant dernière valeur n' est pas <> de 0 j' ai une résultat nul

    Or, au vu de la formule que tu présentes il semble que tu veuilles ne pas inclure la valeurs en L si celle-ci est zéro puis en J si celle-là est zéro.
    Cherches-tu plutôt à exclure du calcul les valeurs zéro quelque soit la colonne J ou L?
    Question en suspend, pour l'heure la formule que tu fournis
SI($L11<>0;$E11*$F11*$H11*$J11*$L11;si($J11<>0;$E11*$F11*$H11*$J11;$E11*$F11*$H11))
   donne le pseudo-code :

   SI_00 $L11<>0 ALORS
      $E11*$F11*$H11*$J11*$L11
    SINON_00
      SI_01 $J11<>0 ALORS
        $E11*$F11*$H11*$J11
      SINON_01
        $E11*$F11*$H11
      FIN_SI_01
    FIN_SI_00

    Qui donne en VBA :
   
If Cells(Index, 12) <> 0 Then
 
  For I = 0 To 3
 
    Par = Par * Cells(Index, (2 * I) + 6) ' Produit F * H * J * L
 
  Next
 
  F = Cells(Index, 5) * Par ' Produit E * F * H * J * L
 
ElseIf Cells(Index, 10) <> 0 Then

  For I = 0 To 2
 
    Par = Par * Cells(Index, (2 * I) + 6) ' Produit F * H * J
 
  Next
 
  F = Cells(Index, 5) * Par ' Produit E * F * H * J
 
Else

  For I = 0 To 1
 
    Par = Par * Cells(Index, (2 * I) + 6) ' Produit F * H
 
  Next
 
  F = Cells(Index, 5) * Par ' Produit E * F * H

End If
 
   Mais dans ce cas si la colonne F est non zéro et que la colonne J est zéro le résultat sera zéro. Est-ce ce que tu souhaites?

3- Citation :
A quoi fait référence Op?

    Op est un argument de la fonction F(). Voir le commentaire dans le code.

4- Citation :
Quand est ce que dans le code il est noté que quand j' écris un + dans la colonne 2 c' est Case 1 qui doit calculer?

    Voir dans le code le commentaire suivant :
       
' No.d 'opération à effectuer.
' La chaîne constante définie au niveau du module :
' Private Const OPERATIONS As String = "+-x:"
' porte les quatre opérations autorisées.
' La fonction InStr() retourne la position du caractère
' de l'opération à effectuer. C'est cette position qui
' détermine l'action à poser dans la fonction F()
  Operation = InStr(OPERATIONS, Cells(NoLigneAppelante, 2))
 

Voilà.

J'ai modifié le code dans le classeur joint. Teste-le et modifie-le à l'avenant.

Cordialement,

Guy

Pièce jointe:
zip CalculMétré_Mod_2.zip   [ Taille: 35.52 Ko - Téléchargements: 1412 ]
Edité par Guy le 11/01/2010 04:35:24

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes