XL 2013 souci d'affichage des additions

clyde88

XLDnaute Nouveau
Bonjour,

S'il vous plait je suis a la recherche d'une aide précieuse je suis entrain de crééer une feuille de calcul excel en language vba et j'arrive pas afficher dans chaque cellule le résultat de l'addition sachant que j'additionne avec un nombre de pas de 0.5 en démarrant d'un certain nombre comme le montre le tableau ci-dessous je vous envoie aussi mon programme et merci pour votre aide.

Sub itération()

Dim Ninf, profondeur, longueurpieu As Single

Dim cell As Range

Dim x As Integer

Range("G2").Select

ActiveCell.FormulaR1C1 = "=RC[-2]"

Ninf = Range("E2")

longueurpieu = Range("F2")

profondeur = longueurpieu + 0.5

If profondeur > longueurpieu Then

profondeur = longueurpieu

Else: profondeur = profondeur + 0.5

End If

Range("G3") = profondeur

End Sub
 

vgendron

XLDnaute Barbatruc
Normalement, ca devrait etre bon
VB:
Sub itération3()

Dim Ninf, Profondeur, LongueurPieu As Single

If Range("G" & Rows.Count).End(xlUp).Row > 1 Then
    Range("G2:H" & Range("G" & Rows.Count).End(xlUp).Row).Clear
End If

Ninf = Range("E2") 'va chercher la valeur de départ en E2
Profondeur = Ninf 'initialise la première valeur de Profondeur
LongueurPieu = Range("F2") 'va chercher la longueur du pieu en F2
step = Range("E5") 'définit le step
Set Zbase = Range("D2:D6") 'récupère le premier Zbase en D2

NbItération = Int((LongueurPieu - Ninf) / step) 'calcule le nombre d'itération pour aller de Ninf à LongueurPieu par pas de step)


Range("G2") = Ninf 'on recopie la valeur inférieure
i = 3
j = 1
While Profondeur < LongueurPieu
   
    While Profondeur + step < Zbase(j) And Profondeur + step < LongueurPieu
        Cells(i, 7) = Profondeur + step
        Profondeur = Profondeur + step
        i = i + 1
    Wend
    If Profondeur + step < LongueurPieu Then
        Cells(i, 7) = Zbase(j)
        Cells(i, 7).Interior.ColorIndex = 6
        i = i + 1
        Profondeur = Zbase(j)
        j = j + 1
    Else
        Cells(i, 7) = LongueurPieu
        Cells(i, 7).Interior.ColorIndex = 6
        Profondeur = LongueurPieu
    End If
Wend
   
End Sub
 

vgendron

XLDnaute Barbatruc
Avec quelques controls avant de lancer le code pour éviter des bugs s'il manque des infos
VB:
Sub itération3()


Ninf = Range("E2") 'va chercher la valeur de départ en E2
Profondeur = Ninf 'initialise la première valeur de Profondeur
LongueurPieu = Range("F2") 'va chercher la longueur du pieu en F2
Step = Range("E5") 'définit le step

If Ninf = "" Then
    ManqueInfo = ManqueInfo & " Ninf "
End If
If LongueurPieu = "" Then
    ManqueInfo = ManqueInfo & " LongueurPieu "
End If
If Step = "" Then
    ManqueInfo = ManqueInfo & " Step "
End If

If ManqueInfo <> "" Then
    MsgBox ("il manque les infos: " & ManqueInfo)
    Exit Sub
End If

If Range("G" & Rows.Count).End(xlUp).Row > 1 Then
    Range("G2:H" & Range("G" & Rows.Count).End(xlUp).Row).Clear
End If
   
Set Zbase = Range("D2").Resize(Range("A2")) 'récupère la liste des ZBase (dont le nombre correspond au nombre de Couche en A2


Range("G2") = Ninf 'on recopie la valeur inférieure
i = 3
j = 1
While Profondeur < LongueurPieu
   
    While Profondeur + Step < Zbase(j) And Profondeur + Step < LongueurPieu
        Cells(i, 7) = Profondeur + Step
        Profondeur = Profondeur + Step
        i = i + 1
    Wend
    If Profondeur + Step < LongueurPieu Then
        Cells(i, 7) = Zbase(j)
        Cells(i, 7).Interior.ColorIndex = 6
        i = i + 1
        Profondeur = Zbase(j)
        j = j + 1
    Else
        Cells(i, 7) = LongueurPieu
        Cells(i, 7).Interior.ColorIndex = 6
        Profondeur = LongueurPieu
    End If
Wend
   
End Sub
 

clyde88

XLDnaute Nouveau
salut je reviens vers toi car mon tableau change tout le temps je te joint mon tableur complet avec des case en bleu qui signifie que ces cases que c'est moi qui va introduire les valeurs et pour les autres j'ai fait des formules et comme tu le sais je voudrais automatiser ça avec le travail précedent et Merci infiniment
 

Pièces jointes

  • clyde avancement.xlsm
    26.8 KB · Affichages: 30

vgendron

XLDnaute Barbatruc
euh.. tu veux automatiser quoi exactement?
tes formules sont déjà saisies.. c'est quoi l'automatisation?

et tu as supprimé la feuille "Etapes de Calculs"
donc; le code plante ici
With Sheets("Etapes de Calculs")
.Range("A2").FormulaR1C1 = "='Paramètres d''entrée'!RC[4]"
End With
 

clyde88

XLDnaute Nouveau
dsl je me suis trompé de fichier tu vois j'ai rajouter de nouvelle case et ces cases la j'ai fait des formules que je veux traduire en vba dans le 2 rentre dans la feuille etape de calcul et les case en bleu c'est moi qui introduis les valeurs les autres quand tu double clics tu trouvera des formules que je voudrais automatiser sur vba
 

Pièces jointes

  • clyde avancement.xlsm
    31.9 KB · Affichages: 33

vgendron

XLDnaute Barbatruc
????
traduire en vba dans le 2 rentre dans la feuille.....
?????????
Est ce que tu peux retaper le même texte, avec de la ponctuation et tous les mots.
Je crois qu'il en manque.

dsl je me suis trompé de fichier tu vois j'ai rajouter de nouvelle case et ces cases la j'ai fait des formules que je veux traduire en vba dans le 2 rentre dans la feuille etape de calcul et les case en bleu c'est moi qui introduis les valeurs les autres quand tu double clics tu trouvera des formules que je voudrais automatiser sur vba
 

clyde88

XLDnaute Nouveau
dsl j'ecris trop vite sans verifié

tu vois j'ai rajouter de nouvelle case que tu trouveras aussi dans la feille étape de calcul, les case en bleu c'est moi qui introduis les valeurs les autres quand tu fais un double clics tu trouvera des formules que je voudrais automatiser sur vba et qui dépendra toujours des valeurs que tu as automatisé (profondeur)
 

vgendron

XLDnaute Barbatruc
ok..enfin.
avant de continuer., pour éviter du travail et code inutile: dis moi d'abord, si je me trompe..

En Feuille Paramètres d'entrée
1) tu saisis le nombre de couches -->la macro génère la colonneB
2) tu saisis la colonne D: autant de lignes que de couches -->j'ai mis un test macro pour le vérifier. sinon bug
3) tu saisis Ninf (E2) - Step (E5) et LPieu (F2) -->la macro vérifie que les infos sont présentes, sinon bug et génère la colonne G (profondeur) ET colonne H (Z(m)).
jusque là.. la macro fait tout.. enfin. je pense

maintenant..
toujours sur la feuille Paramètres d'entrée
Colonnes I à Y sont saisies manuellement ou avec formule
----> un doute m'habite.. colonne Q: es tu sure de tes valeurs?: ca commence par 0.2.. et à la ligne 8 ca s'incrémente de 1 en 1.. comme si tu avais tiré la cellule comme une formule..
Ce doute parce que. dans la feuille "Etapes de calculs".. on retrouve la meme colonne en K.. mais avec QUE des 0.2

Ensuite justement. pour le passage de la feuille "Paramètres d'entrée" vers la feuille "Etapes de calculs".
Tu dis avoir saisi manuellement les cellules en Bleu..j'ai l'impression qu'un copier coller de la feuille Paramètres d'entrée suffirait..

sauf. qu'il semble y avoir un décalage dans les noms de colonne
ex: alpha-Pieu (J1 - Feuille Param) -->devient (D1 Feuille Etapes) mais les données correspondent à la colonne d'a coté..

s'il s'agit effectivement de faire un copier coller des datas d'une feuille à l'autre.. il vaudrait mieux le faire par macro. ca éviterait les erreurs que je "pense" avoir décelées..
si ce ne sont pas des erreurs.. alors. je ne comprend pas bien ton fichier. mais tant pis. je te mettrais les formules qui vont bien ;-)
 

vgendron

XLDnaute Barbatruc
Regarde dans la version 3 ci jointe
les feuille xxx_init: ce sont juste des copies de sauvegarde

dans la feuille "Etapes de Calculs", j'ai fait un copier coller des infos de "Paramètres d'Entrée" sous les info que tu avais déjà mises

et apparaissent en rouge, les infos qui diffèrent.. à cause d'une erreur de copier coller?

Dans la macro, j'ai remis les tests et j'ai ajouté des commentaires pour expliquer le code au fur et à mesure
 

Pièces jointes

  • clyde avancement Rev3.xlsm
    45.5 KB · Affichages: 35

clyde88

XLDnaute Nouveau
pour me comprendre regarde la feuille étape de calcul

je voudrais exploiter les valeurs de profondeurs obtenu dans la feuille paramètre de calcul en commençant par :
feuille paramètre de calcul:
1) z (colonne b) = range (a3)-range(a2) apres range (a4)-range(a3) ......... jusqu'a la dernière valeurs de profondeurs- la valeur de dessus.

2) les colonnes de c jusqu'à h je dois les taper manuellement

3) fsol (colonne i)= (F2*E2+G2)*(1-EXP(-H2*E2) je voudrais automatiser pour toute les lignes jusqu'a la dernière valeur de profondeur

4) qs (colonne j)= colonne d2* colonne i2 ...etc

5) qs max (colonne K) c'est moi qui introduit les valeurs

6) qs retenu (colonne L)= SI(J<K; J;K) je compare la valeur de qs si elle est inférieure à qs max alors qs retenu = qs sinon qs retenu = qs max
7) phi (colonne M) c'est moi qui introduit la valeurs et elle fixe

8) surface (colonne N)= nombre pi*phi (colonne M)* Z (colonneB)

9) frottement (colonne O) = qs retenu (colonne L)*surface (colonne N)

10) Rs (colonne P) = somme des frotemment (somme colonne O)
 

clyde88

XLDnaute Nouveau
salut l'ami stp je voudrais faire afficher une valeur qui depende de deux listes deroulantes (type de construction et type de sol) et je voudrais par exemple pour le type de construction a et type de sol 2 il affiche la valeure x2 dans la case alpha et xx2 dans la case beta je te joint le fichier avec toujurs une nbres de couche variable et merci encore une fois
 

Pièces jointes

  • Classeur2.xlsx
    8.4 KB · Affichages: 31

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 868
dernier inscrit
JJV