Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3117 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA-E]souci avec un programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA-E]souci avec un programme

n°1564247
cufy59
Posté le 23-05-2007 à 19:21:06  profilanswer
 

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

mood
Publicité
Posté le 23-05-2007 à 19:21:06  profilanswer
 

n°1564288
kiki29
Posté le 23-05-2007 à 21:01:56  profilanswer
 

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
....

n°1564675
cufy59
Posté le 24-05-2007 à 16:08:51  profilanswer
 

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

n°1564705
kiki29
Posté le 24-05-2007 à 16:51:55  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA-E]souci avec un programme

 

Sujets relatifs
Appeller un programme en html/javascriptprogramme utilisant API Windows et GNU Scientific Librairy
Petit programme en VBA... besoin d´aide[VBA] Valeur maximale d'une sélection
Executer un programme en C via PHPCode VBA ouverture fichier!!
Que fait mon programme ?Aide sur VBA Excel
Besoin d'aide pour un petit programme de rien... :) 
Plus de sujets relatifs à : [VBA-E]souci avec un programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR