Problème différence VBA
Mama6196
Messages postés
5
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour à tous,
Je cherche à calculer un linéaire de charge. Le macro fonctionne bien à une condition près (voir ci-dessous en jaune). Pour l'intégralité de la macro, voir fichier joint.
le problème que je rencontre est sur la ligne en jaune ou je fais la différence entre le max sur 2 range différentes. Dans mon cas de figure, la différence devrait être de 0 mais ce n'est pas le cas quand je regarde la fenetre espion des variables et du coup, on rentre dans la boucle if alors qu'on ne devrait pas.
Pourriez-vous m'aider svp?
ci-dessous le lien pour télécharger le fichier:
https://www.sendbox.fr/HzLPQZb3/a6762d40ad6b96240bdfd288652dd1dc
Merci
Je cherche à calculer un linéaire de charge. Le macro fonctionne bien à une condition près (voir ci-dessous en jaune). Pour l'intégralité de la macro, voir fichier joint.
le problème que je rencontre est sur la ligne en jaune ou je fais la différence entre le max sur 2 range différentes. Dans mon cas de figure, la différence devrait être de 0 mais ce n'est pas le cas quand je regarde la fenetre espion des variables et du coup, on rentre dans la boucle if alors qu'on ne devrait pas.
For numcol2charge = 90 To (Nbcolnonvide + 90)
diff = Application.WorksheetFunction.Max(Range("C" & "L" & Numligne & ":C" & "M" & Numligne)) - Application.WorksheetFunction.Max(Range("C" & "Y" & Numligne & ":D" & "J" & Numligne))
If (diff) <> 0 Then
If Cells(Numligne, numcol2charge) - Cells(Numligne, numcol2charge - 1) > 0 And Not IsEmpty(Cells(Numligne, numcol2charge)) And Not IsEmpty(Cells(Numligne, numcol2charge - 1)) Then
deltajour = Cells(Numligne, numcol2charge) - Cells(Numligne, numcol2charge - 1)
variable = DateAdd("m", 1, CDate(Cells(4, numcol2charge)))
chargerepartie = (Cells(Numligne, numcol2charge) - Cells(Numligne, numcol2charge - 1)) / (Application.NetworkDays_Intl(variable, Cells(Numligne, 6)))
valeur = 0
For numcolonne2 = 103 To (Nbcolnonvide + 103)
If Cells(3, numcolonne2) >= variable And Cells(3, numcolonne2) <= Cells(Numligne, 6) And Cells(3, numcolonne2) <> Cells(Numligne, 6) And Month(Cells(3, numcolonne2)) & Year(Cells(3, numcolonne2)) <> Month(Cells(Numligne, 6)) & Year(Cells(Numligne, 6)) Then
nbjourouvre = Application.NetworkDays_Intl(Cells(3, numcolonne2), WorksheetFunction.EoMonth(Cells(3, numcolonne2), 0))
valeur = valeur + (nbjourouvre * chargerepartie)
Cells(Numligne, numcolonne2).Value = Cells(Numligne, numcolonne2).Value + valeur
ElseIf Month(Cells(3, numcolonne2)) & Year(Cells(3, numcolonne2)) = Month(Cells(Numligne, 6)) & Year(Cells(Numligne, 6)) Then
nbjourouvre = Application.NetworkDays_Intl(Cells(3, numcolonne2), Cells(Numligne, 6))
valeur = valeur + (nbjourouvre * chargerepartie)
Cells(Numligne, numcolonne2).Value = Cells(Numligne, numcolonne2).Value + valeur
End If
Next
End If
End If
Next
Pourriez-vous m'aider svp?
ci-dessous le lien pour télécharger le fichier:
https://www.sendbox.fr/HzLPQZb3/a6762d40ad6b96240bdfd288652dd1dc
Merci
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Problème différence VBA
- Difference tcp udp - Guide
- Difference million milliard - Accueil - Technologies
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Différence actif et en ligne messenger ✓ - Forum Facebook
- Difference entre mo et mb ✓ - Forum Matériel & Système
1 réponse
Bonjour,
merci d'éviter le crossposting plutôt mal vu.
On n'a pas vraiment envie de perdre du temps à répondre à un sujet peut-être déjà traité ailleurs...
Résolu ici : https://forum.excel-pratique.com/excel/probleme-difference-somme-171717
eric
merci d'éviter le crossposting plutôt mal vu.
On n'a pas vraiment envie de perdre du temps à répondre à un sujet peut-être déjà traité ailleurs...
Résolu ici : https://forum.excel-pratique.com/excel/probleme-difference-somme-171717
eric