[VBA&EXCEL03][done ]additionner plusieurs sheets mais pas les charts

additionner plusieurs sheets mais pas les charts [VBA&EXCEL03][done ] - VB/VBA/VBS - Programmation

Marsh Posté le 07-12-2005 à 12:18:30    

bonjour,
 
je voudrais additionner toutes les cellules B10:B25 de toutles mes feuilles peut importe leurs noms mais j ai des graphiques :( et faire la somme dans la feuille Sheets("RECAPITULATIF" )
 
merci
 

Code :
  1. Sub TotalB()
  2. Dim x
  3. For x = 10 To 25
  4.     Dim i, PrixHT
  5.         PrixHT = 0
  6.         For i = 3 To Worksheets.Count
  7.         If TypeName(Sheets(i)) = Chart Then
  8.                 Next i
  9.         Else
  10.                 PrixHT = PrixHT + Sheets(i).Range("B" & x).Value
  11.         Next i
  12.          Sheets("RECAPITULATIF" ).Activate  ' Attention ta feuille total doit rester en position 1
  13.          Range("B" & x).Value = PrixHT
  14.          End If
  15. Next x
  16. End Sub


Message édité par sakuraba le 07-12-2005 à 17:33:54
Reply

Marsh Posté le 07-12-2005 à 12:18:30   

Reply

Marsh Posté le 07-12-2005 à 14:19:55    

un peu d aide serait la bienvenue

Reply

Marsh Posté le 07-12-2005 à 16:14:40    

Salut sakuraba,
 
pour moi il faut commencer ta boucle par l'activation des feuilles :
for i =3 to worksheets.count
Ensuite un test pour exclure les feuilles de graph, éventuellement par leur nom (if worksheets(i).name.... ou left(worksheets(i).name)) cel a dépendent de tes nome de feuille. Je ne sais pas s'il y a un type pour les worksheets. ensuite tu calcule ou pas si la celule choisie et vide ou pleine :)
 
Vois si ça te suffit sinon donnes nous un peu plus d'infos sur les noms de feuilles :)


Message édité par watashi le 07-12-2005 à 16:16:05
Reply

Marsh Posté le 07-12-2005 à 17:31:12    

j ai utilisé la fonction  
 

Code :
  1. If TypeName(Sheets(i)) = "Chart" Then


 
pas de probleme avec donc

Reply

Marsh Posté le 07-12-2005 à 18:42:15    

Code :
  1. Sub TotalB()
  2. Dim x as integer, i as integer, PrixHT as currency
  3. x=10
  4. For x = 10 To 25
  5.         i=3
  6.         PrixHT = 0
  7.         'Calcul de la somme de Bx
  8.         For i = 3 To Worksheets.Count
  9.              If TypeName(Sheets(i)) <> Chart and Sheets(i).Range("B" & x).Value<>"" Then
  10.                    PrixHT = PrixHT + Sheets(i).Range("B" & x).Value
  11.              End if
  12.         Next i
  13.         Sheets("RECAPITULATIF" ).Activate
  14.         Range("B" & x).Select
  15.         activecell.Value = PrixHT
  16. Next x
  17. End Sub

Le seul prolème que j'ai vu a ton code était le positionement du end if qui était trop loin. J'ai pas de quoi tester ce soir (apple @home). Mais dis moi si tu as un autre problème
note j'ai ajouté un contrôle sur la valeur de Bx pour que l'erreur des somme avec les vide ne recommences pas comme la dernière fois :)
 
 
bon courage
 
edit : j'avais pas vu que t avais mis done lol


Message édité par watashi le 07-12-2005 à 18:44:51

---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 08-12-2005 à 09:17:50    

merci watashi :)

Reply

Sujets relatifs:

Leave a Replay

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