[VBA-E]souci avec un programme

souci avec un programme [VBA-E] - VB/VBA/VBS - Programmation

Marsh Posté le 23-05-2007 à 19:21:06    

bonjour a tous
je debute dans la programmation en VBA et je n'arive pas a trouver l'ereur dans mon programme
pouvez vous m'aidez svp
voici mon prog:
 

Code :
  1. Option Explicit
  2. Dim j As Integer
  3. Dim nbrptdata As Integer
  4. Dim modele As String
  5. Dim ws As Worksheet
  6. Sub energie()
  7. j = 0
  8. nbrptdata = 2476
  9. For Each ws In Worksheets
  10. If ws.Name = ("data" ) Then
  11. GoTo 1
  12. Else
  13. ws.Select
  14. modele = ws.Name
  15. Range("AA4" ).FormulaArray = "=SUM(J2:J " & 1 + nbrptdata & " )"
  16. Range("AA5" ).FormulaArray = "=SUM(k2:k " & 1 + nbrptdata & " )"
  17. Range("AA4:AA5" ).Cut
  18. Sheets("data" ).Select
  19. j = j + 4
  20. Range("I" & j).Select
  21. ActiveSheet.Paste
  22. Range("G" & j).Value = "bilan " & modele
  23. Range("G" & j).Interior.ColorIndex = 3
  24. Range("H" & j).Value = "energie elec"
  25. Range("H" & j).Interior.ColorIndex = 6
  26. Range("H" & j + 1).Value = "energie meca"
  27. Range("H" & j + 1).Interior.ColorIndex = 6
  28. Range("H" & j + 2).Value = "eff tot"
  29. Range("H" & j + 2).Interior.ColorIndex = 6
  30. Range("I" & j + 2).Value = Range("F" & j) / Range("F" & j + 1)
  31. End If
  32. 1: Next
  33. End Sub


 
Mon programme doit calculer sur la feuil2 et 3 la somme des nombres de la colone J et K et mettre le resultats sur la feuille1 selon une disposition
le nombre de ligne des 2 colonne est variant et depend de nbrptdata (Ici je l'initialise a 2476 mais normarlent c'est un autre prog qui le calcul)
 
le prog bloque quand il arrive sur la ligne 19
Mais je ne comprend pas pourquoi
 
je vous remercie de votre atention

Reply

Marsh Posté le 23-05-2007 à 19:21:06   

Reply

Marsh Posté le 23-05-2007 à 21:01:56    

Vire cet immonde GOTO


    For Each ws In Worksheets
        If ws.Name <> ("data" ) Then
            ws.Select
            modele = ws.Name
            Range("AA4" ).FormulaR1C1 = "=SUM(J2:J" & (1 + nbrptdata) & " )"
            Range("AA5" ).FormulaR1C1 = "=SUM(k2:k" & (1 + nbrptdata) & " )"
            Range("AA4:AA5" ).Cut
....

Reply

Marsh Posté le 24-05-2007 à 16:08:51    

merci pour ta reponse
 
j'ai essayé le formulaR1C1 mais il ne fonctionne pas, je pensais que cette formule s'utilisai avec des R[1]C[3] par exemple dans les parenhese. dis moi si je me trompe.
Par contre j'ai trouver la solution :
Range("AA4" ).FormulaLocal = "=SOMME(J2:J" & 1 + nbrptdata & " )"
Range("AA5" ).FormulaLocal = "=SOMME(k2:k" & 1 + nbrptdata & " )"
 
SUM et SOMME se differncie avec la version anglaise ou francaise de excel
 
merci de ton attention

Reply

Marsh Posté le 24-05-2007 à 16:51:55    

Affirmataf j'ai été un peu trop rapide dans ma réponse ...
FormulaLocal pour langue locale et séparateur de liste local
Formula pour fonctions anglaises et séparateur de liste anglais

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed