Extraction de lignes de feuilles

Fermé
yassinejaf Messages postés 4 Date d'inscription lundi 7 mars 2016 Statut Membre Dernière intervention 16 mars 2016 - 7 mars 2016 à 04:38
yassinejaf Messages postés 4 Date d'inscription lundi 7 mars 2016 Statut Membre Dernière intervention 16 mars 2016 - 16 mars 2016 à 23:36
Bonjour,
Alors voici mon problème
J'ai 12 fichiers dans chaque fichier on trouve 10 feuilles différentes. les 12 fichier se ressemblent c'est à dire qu'on trouve la meme structure de leurs feuilles
je veux sommer ces feuilles et obtenir un nouveau fichier de tel manier que la 1ère feuille de ce nouveau fichier soit la somme de la 1ère feuille de chaque fichier des 12 fichier.
Donc j'ai besoin d'un code qui me permet:
1-Choisir les 12 fichier
2-avoir accès aux feuilles
3-avoir accès au lignes des feuilles
4-sommer ces lignes
5- Créer un nouveau fichier et coller les nouvelles feuilles somme
Merci d'avance

3 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
Modifié par ThauTheme le 9/03/2016 à 11:20
Bonjour Yassinejaf, bonjour le forum,

Sans un petit fichier exemple difficile de te proposer quelquechose !...

Un début. Le code ci-dessous fait la somme de toutes les cellules de la ligne renseignée (uniquement en colonne A car tu n'a rien précisé à ce sujet) du premier onglet de chaque fichier et affiche le résultat dans un message...

Sub macro1()
Dim I As Byte 'déclare la variable I (Incrément)
Dim TF() As String 'déclare le tableau de variables TF (Tableau des fichiers)
Dim LI As Long 'déclare la variable LI (LIgne)
Dim CO As Workbook 'déclare la variable CO (Classeur Ouvert)
Dim OT As Worksheet 'déclare la variable OT (Onglet de Travail)
Dim S As Double 'déclare la variable S (Somme)

With Application.FileDialog(msoFileDialogOpen) 'prend en compte la boîte de dialogue "Ouvrir"
    .AllowMultiSelect = True 'permet la sélection de plusieurs fichiers
    .Show 'affiche la boîte de dialogue
    For I = 1 To .SelectedItems.Count 'boucle sur tous les fichiers sélectionnés
        ReDim Preserve TF(1 To I) 'redimensionne le tableau TF
        TF(I) = .SelectedItems(I) 'stocke, dans la variable indexée I du tableau TF, le nom complet (avec le chemin d'accès) du fichier sélectionné
    Next I 'prochain fichier sélectionné dans la boîte de dialogue 'Ouvrir"
End With 'fin de la prise en compte de la boîte de dialogue "Ouvrir
LI = Application.InputBox("Quelle ligne voulez-vous sommer ?", "LIGNE", Type:=1) 'définit la ligne LI de la somme (via une boîte d'entrée)
For I = 1 To UBound(TF) 'boucle sur tous les fichiers sélectionnés
    Workbooks.Open (TF(I)) 'ouvre le fichier
    Set CO = ActiveWorkbook 'définit le classeur ouvert CO
    Set OT = CO.Sheets(1) 'définit l'onglet de travail OT
    S = S + OT.Cells(LI, 1) 'définit la somme S
    CO.Close False 'ferme le classeur ouvert CO sans enregistrer
Next X 'prochain fichier de la boucle
MsgBox S 'affiche la somme S dans un message
End Sub


À plus,
ThauTheme
0
yassinejaf Messages postés 4 Date d'inscription lundi 7 mars 2016 Statut Membre Dernière intervention 16 mars 2016
Modifié par yassinejaf le 13/03/2016 à 14:51
Bonjour,
Merci pour ta réponse oui effectivement je dois déposer un fichier mais comment puis je faire ?
Et puis la première partie du code pour ouvrir les fichier et sélectionner est bonne mais la deuxième non.
En effet je vais enregistrer la macro sur un nouveau fichier qui est similaire au 12 fichiers (c'est le meme tableau et qui comporte les meme rubrique mais vide )et qui sera entre autre la somme de certaine ligne dans certaine colonne de chaque fichier. Et cette somme sera stocké en d'autre terme je prens la ligne 2 de la feuille n1 dans le fichier n1 je la somme à la ligne 2 de la feuille n1 dans le fichier n2 + la ligne 2 de la feuille n1 du fichier n3.... +la ligne 2 de la feuille n1 du fichier n12 j'obtiens une somme que je prends et je la note dans la ligne n2 de la feuille n1 du nouveau fichier qui possède la macro
Je fais ca pour plusieur ligne donc il me faut juste un exemple pour une seul ligne
Ps: je prends pas toute les colonne de la ligne
merci d'avance pour ta réponse
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
14 mars 2016 à 11:39
Bonjour Yassinejaf, bonjour le forum,

Sommer des lignes ne veut rien dire !... Sommer des cellules éditées contenant des valeurs numériques d'une ligne serait plus juste. Tu dis que tu ne prends pas toutes les colonnes de la ligne mais tu ne précises toujours pas lesquelles ?!...

Pour joindre un fichier il existe des tas de sites hébergeurs. Essaie:
https://www.cjoint.com/
mais le fichier que tu déposes doit être zippé au préalable...

Dans l'attente de plus de précisions ou d'un fichier exemple (mieux)...

--
À plus,
ThauTheme
0
yassinejaf Messages postés 4 Date d'inscription lundi 7 mars 2016 Statut Membre Dernière intervention 16 mars 2016
14 mars 2016 à 13:55
Bonjour,
Voilà un fichier exemple https://www.cjoint.com/c/FColWU6eUSc
Ce fichier comporte plusieurs feuilles dans chaque feuille y'a des cellules qui comportes des chiffres ainsi que des rubriques et des pourcentages; j'ai 12 fichiers qui sont similaire à celui la je vais faire la somme de ces chiffre et les mettre dans un 13 fichiers similaire aux 12. En d'autre termes faire la somme des 12 fichier et les mettre dans le 13ème en gardant la meme structure.
Je ne précise pas quelle ligne prcq dans chaque feuille y'a une structure différente c'est pour cela je cherchais juste la partie du code qui me permet d'accéder à un certain nombre de cellule et de les sommer et de mettre la somme dans une autre cellule.
J'espère que j'étais clair cette fois merci d'avance.
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
15 mars 2016 à 10:01
Bonjour,

Désolé Yassinejaf mais un certains nombre de cellules avec un fichier aussi fournis ça ne m'éclaire absolument pas. Tu dis, au début que les feuilles ont la même structure puis maintenant ce n'est plus le cas. Je passe mon chemin...
0
yassinejaf Messages postés 4 Date d'inscription lundi 7 mars 2016 Statut Membre Dernière intervention 16 mars 2016
16 mars 2016 à 23:36
Bonsoir,
J'avoue que j'ai pas bien exprimé mon besoin ! Le francais n'est pas ma langue natale
oui les feuilles dans un seul fichier n'ont pas la meme structure.
Je te donne un exemple dans le fichier que j'ai soumis la première feuille ''CPC'' j'ai la meme feuille CPC dans les autres fichiers je veux faire la somme de ces feuilles ''CPC'' de chaque fichier et le mettre dans un nouveau fichier .
Pour la somme j'ai des colonnes dans cette feuille CPC qui contiennent des nombres et d'autres qui contiennent des pourcentage je veux sommer que les nombres et garder la case des pourcentages vide et mettre les résultat dans une autre feuille dans un nouveau fichier tout en gardant la meme structure.

Ceci je dois le faire pour toute les feuilles du fichier .
Merci mais je ne peux pas faire mieux que ca
0