Macro pour additionner des ws de <> wb

Bonjour à tous,

Dans une macro, je souhaite ajouter une formule me permettant d'ajouter faire la somme de différentes worksheets de différents wb. En gros j'ai un nombre x de wb, ds ces workbook, je veux selectionner une feuil type (par le nom de l'onglet). une fois les feuil type analyser (sélectionner), je veux calculer leur somme de la cellule B5 par exemple.

Voici donc mes deux question : Comment faire pour selectionner toutes les feuilles ayant le nom "x"?

Comment additionner leur valeur B5?

Merci pour votre aide,

COrdialement,

James405

Regarde si ça peut t'interesser

Public Sub AdditionneWB()
    Dim WB As Workbook
    Dim WS As Worksheet
    Dim Somme As Single

    'Boucle sur tous les workbooks ouvert
    For Each WB In Workbooks
        'Boucle sur les worksheets de chaque workbook
        For Each WS In WB.Worksheets
            If WS.Name = "x" Then Somme = Somme + WS.Range("B5").Value
        Next WS
    Next WB

    MsgBox "Somme total = " & Somme
End Sub

Merci pour ta réponse Math (encore toi qui vient à ma rescousse !! lol)

2 petites questions : que signifie le as single signifie ?

Comment faire pour que le résultat se mette automatiquement dans ma case B5 de mon active.wb? (pck pr l'instant, il va uniquement ds la message box?)

-- 11 Mai 2010, 18:00 --

Bon au final, j'ai ça !

Dim WS As Worksheet

Dim Somme As Single

For Each WB In Application.Workbooks

WB.Activate

For Each WS In WB.Worksheets

WS.Activate

If WS.Name = "recap" Then Somme = Somme + WS.Range("C8").Value

Next WS

Next WB

Active.workbook.Sheets("recap r")Range ("C8")= & Somme XCa c'est juste pour montrer ma fin (mauvais syntaxe me semble t il mais c'est pas ca qui me tracasse !)

MsgBox "Somme total = " & Somme

Mon problème est que ma macro fait bien le tour des feuilles mais pas celle des classeurs ouverts, il me semble bien que application.workbooks veut dire classeur ouvert !!

Une solution ?

Merci

End Sub

-- 11 Mai 2010, 18:17 --

Bonsoir,

Apres un reboot d'excel, cela marche !!

Juste un petit souci à regler, quel est la valeur à mettre pour afficher le resultat de la somme dans une cellule ??

Range ("A1")= "& Somme" ne marche pas

- Pour le As Single, quand tu déclare une variable ( Dim Somme ) c'est toujours mieux de lui déclarer aussi un type, pour lui dire ce qu'elle va contenir. "As Single" pour une valeur numérique avec décimal.

Un fil pour t'aider

- Pour ton dernier problème

Range ("A1")= Somme

bonjour Math, merci pour le fil n je n'avais pas vu ce topiic !!

Tout marche parfaitement, dernière petite question, y a t il un moyen plus simpplifier pour faire de cette facon toute les ligne d'un tableau??

Merci pour ton aide ! *

James

Quel sont les opérations que tu veux effectuer sur les lignes du tableau?

Bonjour, je parlais pour automatiser cela que ca colle automatiquyement les résultat dabns les lignes de mon tableau !!

Un petit for i=

Avec un tout petit peu de modif fonctionne parfaitement.

Merci pour ton aide Math

James

Rechercher des sujets similaires à "macro additionner"