Agrégateur de donnée
Résolu
skyzino
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
G_33 -
G_33 -
Bonjour à tous,
Quelque chose qui me paraissait évident me complique en fait la vie.
J'ai cherché pour trouver mon bonheur mais rien ne m'a bien aidé d'où ce post.
J'ai un dossier (qui peut changer de nom) avec des classeurs (dont le nom peut varier aussi) mais où les feuilles ont toutes le même nom et enfin un dernier classeur nommé Agrégateur tendance.
Ce que je souhaiterai, c'est d'agréger la ligne 7 de chaque feuille FGTi de mes classeur à la suite dans un fichier nommé Agrégateur tendance.
Mais également que dans la colonne A du classeur Agrégateur tendance figure le nom présent en A1 de chaque feuille afin d'identifier d'où provient chaque ligne.
Auriez vous une idée pour une procédure sous VBA ?
Fichier à Agrégés :
https://www.cjoint.com/?BIzlJJKoHsL
https://www.cjoint.com/?BIzlKaZWWAN
https://www.cjoint.com/?BIzlKNgGzNR
Fichier Agrégateur : https://www.cjoint.com/?BIzlLrVsKnT
Quelque chose qui me paraissait évident me complique en fait la vie.
J'ai cherché pour trouver mon bonheur mais rien ne m'a bien aidé d'où ce post.
J'ai un dossier (qui peut changer de nom) avec des classeurs (dont le nom peut varier aussi) mais où les feuilles ont toutes le même nom et enfin un dernier classeur nommé Agrégateur tendance.
Ce que je souhaiterai, c'est d'agréger la ligne 7 de chaque feuille FGTi de mes classeur à la suite dans un fichier nommé Agrégateur tendance.
Mais également que dans la colonne A du classeur Agrégateur tendance figure le nom présent en A1 de chaque feuille afin d'identifier d'où provient chaque ligne.
Auriez vous une idée pour une procédure sous VBA ?
Fichier à Agrégés :
https://www.cjoint.com/?BIzlJJKoHsL
https://www.cjoint.com/?BIzlKaZWWAN
https://www.cjoint.com/?BIzlKNgGzNR
Fichier Agrégateur : https://www.cjoint.com/?BIzlLrVsKnT
A voir également:
- Agrégateur de donnée
- Supprimer les données de navigation - Guide
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum MacOS
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
- Reinstaller windows sans perte de données - Guide
- Impossible de coller les données de votre organisation ici. - Forum Incredimail
4 réponses
Bonjour
Voilà un bout de code à adapter a tes besoins
J'espère qu'il te convient.
Cordialement
Voilà un bout de code à adapter a tes besoins
J'espère qu'il te convient.
Cordialement
Sub ouvrir_fichiers() monRepertoire = "E:\TABLEAUX DE BORD\Export\GROUPEMENT\" ' A Adapter MonFichier = Dir("E:\TABLEAUX DE BORD\Export\GROUPEMENT\") ' A Adapter While MonFichier <> "" Workbooks.Open monRepertoire & MonFichier 'Macro de copie 'COPIER lignes Sheets("Fgti").Select leNom = Range("a1").Value Range("A7:z7").Copy ' A Adapter 'Retourner au classeur Agrégateur tendance Windows("Agrégateur tendance.xls").Activate Sheets("feuil1").Activate ' A Adapter 'Positiner curseur premiere cellule vide du classeur Range("A600").End(xlUp).Offset(1, 0).Select Selection = leNom 'coller les lignes Selection.Offset(0, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 'SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False Workbooks(MonFichier).Close True MonFichier = Dir() Wend End Sub
Bonjour G33,
Merci pour ton aide.
Malheureusement ca commence mal variable non définie sur Répertoire alors que j'ai bien précisé le bon endroit
Merci pour ton aide.
Malheureusement ca commence mal variable non définie sur Répertoire alors que j'ai bien précisé le bon endroit
Ca doit être que tu as déclaré en "option explicit" tes variables....
Sinon creer un nouveau module est copie la procedure que je t'ai envoyé
Chez moi ça marche nickel
Sinon creer un nouveau module est copie la procedure que je t'ai envoyé
Chez moi ça marche nickel
Bonjour,
Ca doit être que tu as déclaré en "option explicit" tes variables....
Je pensais devoir activer cela, mais en effet, il ne le fallait pas...
Par contre j'ai grand mal à adapter ce code.
Juste pour confirmation mon fichier correspond bien au fichier censé agrégé l'ensemble ?
C'est ce que j'ai fait et il ne se passe rien...
Ca doit être que tu as déclaré en "option explicit" tes variables....
Je pensais devoir activer cela, mais en effet, il ne le fallait pas...
Par contre j'ai grand mal à adapter ce code.
Juste pour confirmation mon fichier correspond bien au fichier censé agrégé l'ensemble ?
C'est ce que j'ai fait et il ne se passe rien...
J'ai regardé tes fichiers
Je pense que tes fichier sources sont en ".xls"
et ton Fichier Agregateur en ".xlsx"
Regarde de ce coté là
Sinon enregistre ton fichier en ".xls" et joint le en lien
et je regarde tout ça.
Tu peux me montrer comment tu as adapté mon code aussi il sera necessaire pour le corriger
Cordialement
Je pense que tes fichier sources sont en ".xls"
et ton Fichier Agregateur en ".xlsx"
Regarde de ce coté là
Sinon enregistre ton fichier en ".xls" et joint le en lien
et je regarde tout ça.
Tu peux me montrer comment tu as adapté mon code aussi il sera necessaire pour le corriger
Cordialement
Tous mes fichiers sont en xlsm, du coup j'ai modifié cela dans le code et toujours rien
Voici comment j'ai adapté ton code :
Voici comment j'ai adapté ton code :
Sub ouvrir_fichiers() monRepertoire = "C:\Desktop\Test" ' Adapter MonFichier = Dir("C:\Desktop\Test\Agrégateur tendance") ' Adapter While MonFichier <> "" Workbooks.Open monRepertoire & MonFichier 'Macro de copie 'COPIER lignes Sheets("FGTi").Select leNom = Range("a1").Value Range("B7:z7").Copy ' Adapter 'Retourner au classeur Agrégateur tendance Windows("Agrégateur tendance.xlsm").Activate Sheets("feuil1").Activate ' Adapter 'Positiner curseur premiere cellule vide du classeur Range("A600").End(xlUp).Offset(1, 0).Select Selection = leNom 'coller les lignes Selection.Offset(0, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 'SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False Workbooks(MonFichier).Close True MonFichier = Dir() Wend End Sub
aussi j'ai noté ce qui me semble une faute
ton début de code
monRepertoire = "C:\Desktop\Test" ' Adapter
MonFichier = Dir("C:\Desktop\Test\Agrégateur tendance") ' Adapter
"Agrégateur tendance " est un dossier ou un fichier?
essaie comme ça
monRepertoire = "C:\Desktop\Test" ' Adapter
MonFichier = Dir("C:\Desktop\Test\") ' Adapter
ton début de code
monRepertoire = "C:\Desktop\Test" ' Adapter
MonFichier = Dir("C:\Desktop\Test\Agrégateur tendance") ' Adapter
"Agrégateur tendance " est un dossier ou un fichier?
essaie comme ça
monRepertoire = "C:\Desktop\Test" ' Adapter
MonFichier = Dir("C:\Desktop\Test\") ' Adapter