Consolidation Excel 2003

Bonjour,

J'ai un problème sur Excel......Je réalise tous les mois des classeurs Excel contenant un nombre variable de feuilles (de ±20 a....200 voir +)

A chaque fin de mois je crée une feuille que je nomme CONSO pour consolider toutes les données de mes feuilles.

Je récupere donc sur chaque feuille la meme plage de donnée sauf que lorsque je me retrouve avec 200feuilles a cliquer pour les inclure dans la fonction consolidation ça me prend un temps fou sans compter que parfois j'en oublie.

Je cherche donc a creer une macro ou autre qui pourrait prendre en compte le nombre de feuille (variable tous les mois) et consolider la mm plage de donnée de toutes ces feuilles automatiquement........AIDEZ MOI !!!!!

Merci d'avance

bonjour,

je me suis toujours demandé à quoi servait cette fonction consolidation ?

quel est le but ?

En fait le but et de rassembler sur une feuille recap les données d'un ensemble de feuilles excel pour faire des bilans ou autre. En + tu peux lier les données du coup si dans une de tes feuilles tu change qq chose, le recap change aussi. Tres pratique quand tu as un grand nombre de feuilles de donné comme moi...mais assez long.

Bonjour,

essaie avec ce code :

Sub consolider()
Dim Arr(), I As Byte, sh As Worksheet
I = 1
  ReDim Arr(1 To Sheets.Count - 1)
  For Each sh In Sheets
  If sh.Name <> "conso" Then
    Arr(I) = sh.Name & "!R1C1:R12:C2" 'correspond à la plage A1:B12
    I = I + 1
    End If
Next sh
  Sheets("conso").[A1].Consolidate Sources:=Arr(), Function:=xlSum, TopRow:=True, LeftColumn _
        :=True, CreateLinks:=True
        'si tu mets les titres, et la colonne de gauche
End Sub

Note : ta feuille de consolidation se nomme "conso", dans mon exemple, et la plage de cellules va de A1 à B12 (tout cela à adapter, bien sûr)

Apres 2-3 modifs pour avoir ce que je cherchais c'est bon ça MAAAAAAARCHE. Un grand merci a toi Felix pour ton aide tu as assuré a mort !!!!!!!!! ciao tt le monde et a la prochaine pour un new prob.......loool

Bon maintenant que c'est automatisé comment le perfectionner........

J'ai ajouté des lignes de code pour éviter qu'il consolide toutes mes feuilles, ça marche mais es que c'est la meilleur facon de l'écrire ??

Sub consolider()

Dim Arr(), I As Byte, sh As Worksheet

I = 1

ReDim Arr(1 To Sheets.Count - 4)

For Each sh In Sheets

If sh.Name <> "SITUATION" Then

If sh.Name <> "TYPE" Then

If sh.Name <> "PAGE DE GARDE" Then

If sh.Name <> "CONSO" Then

Arr(I) = sh.Name & "!R1C1:R2C13"

I = I + 1

End If

End If

End If

End If

Next sh

Sheets("situation").[A1].Consolidate Sources:=Arr(), Function:=xlCount, TopRow:=True, LeftColumn _

:=False, CreateLinks:=True

End Sub

Pour faire simple.......ds l'exemple j'ai 4 pages que je ne veux pas consolider,

PAGE DE GARDE (Page de présentation et ds laquelle je vais positionner mon bouton de macro consolidation)

TYPE (Page que je copie pour réaliser les feuilles sources pour la conso)

CONSO (résultat de la consolidation des mes feuilles sources)

SITUATION (copie de la page CONSO qui sert de base de donnée pour un autre classeur Excel)

J'espere que c'est assez clair !!!! loool

Bon admettons que je crée une autre page avec un nom indifférent pour une raison indeterminée.......

Comment faire pour quelle ne soit pas prise en compte dans ma consolidation sans que j'ai a modifier mon code ??? et sans que celui-ci plante.

A bon entendeur...............

Bonsoir,

Et en réagissant à l'inverse?

Combien de feuilles as-tu à consolider?

Ont-ils un nom particulier?

A te relire

Alors,

Pour chaque projet que je traite, j'ouvre un classeur par mois (janvier 08,fevrier 08.....). Chaque classeur comprend une serie de feuille au debut que generalement je renomme en texte (ex: CONSO / SITUATION / TYPE / PAGE DE GARDE......), puis viennent mes feuilles sources qui elles sont des nombres.

Pour donner un exemple dans le classeur janvier 08, j'ai CONSO / SITUATION / TYPE / PAGE DE GARDE puis 001 / 002 / 003 / 004 / .........150.

Dans la classeur fevrier 08, j'ai CONSO / SITUATION / TYPE / PAGE DE GARDE / OPTIMISATION puis 151/152/153/154...........368

En gros c'est ça. Maintenant sachant que PAGE DE GARDE est une page que je retrouverai dans chaque fichier es que l'on pourrait imaginer une ou plusieur cellules dans laquelle je taperai le nombre de page a ne pas consolider, le nom de la premiere page source et de la derniere pour reprendre ces données dans la macro...........

menfin j'y connais pas grand chose alors je cherche des soluce loool

bonjour,

Si j'ai bien compris... il n'y a même pas besoin de macro : La première feuille étant toujours ...la première ! ("001") YAKA déplacer la feuille "type" pour qu'elle soit toujours la dernière. Ensuite une simple formule de conso 3D suffit.

=SOMME('001:Type'!B1:C7)

On peut ensuite insérer autant de feuilles que l'on veut :

la

Peu importe l'ordre et le nombre des feuilles avant "001"

A+

Sauf que ce qu'il me faut c'est récuperer les VALEURS d'une plage dans chaque feuille pour faire un tableu dans la page conso.......pas de faire une somme de données de plusieurs pages. Le code que Felix m'a trouvé fonctionne mais il faut trouver comment ignorer mes feuilles du debut.....

galopin01 a écrit :

Si j'ai bien compris...

C'est bien ce qui me semblait, j'ai encore du passer à coté de quelque chose !

A+

Bonjour,

regarde le code suivant, si les noms de tes feuilles à consolider sont bien des nombres :

Sub consolider()
Dim Arr(), I As Byte, sh As Worksheet
I = 1
For Each sh In Sheets
    If IsNumeric(sh.Name) Then
        ReDim Preserve Arr(1 To I)
        Arr(I) = sh.Name & "!R1C1:R2C13"
        I = I + 1
    End If
Next sh
Sheets("situation").[A1].Consolidate Sources:=Arr(), Function:=xlCount, TopRow:=True, LeftColumn _
:=False, CreateLinks:=True
End Sub
Rechercher des sujets similaires à "consolidation 2003"