A voir également:
- Parcourir la longueur d'une colonne
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Figer une colonne excel - Guide
7 réponses
yg_be
Messages postés
23336
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
Ambassadeur
1 551
5 août 2020 à 12:46
5 août 2020 à 12:46
bonjour,
voyant ton code et ayant lu tes réponses complémentaires, je pense utile que tu expliques d'abord ce que tu veux faire, plutôt que d'ajouter chaque fois une information.
comme expliqué par f894009 (bonjour à lui), ton code ne récupère pas les données, il crée des liens. souhaites-tu récupérer les données, ou créer des liens?
ton code est incroyablement long car il est incroyablement mal écrit. le comble étant la boucle en p.
difficile de te faire une suggestion correcte si tu n'expliques pas ce que tu veux réaliser.
je crois deviner que tu veux chercher "Forum" sur la première ligne de l'onglet, et, qu'ensuite, tu veux travailler sur toutes les lignes de la colonne en dessous de "Forum", jusqu'à trouver une cellule vide. est-ce exact?
voyant ton code et ayant lu tes réponses complémentaires, je pense utile que tu expliques d'abord ce que tu veux faire, plutôt que d'ajouter chaque fois une information.
comme expliqué par f894009 (bonjour à lui), ton code ne récupère pas les données, il crée des liens. souhaites-tu récupérer les données, ou créer des liens?
ton code est incroyablement long car il est incroyablement mal écrit. le comble étant la boucle en p.
difficile de te faire une suggestion correcte si tu n'expliques pas ce que tu veux réaliser.
je crois deviner que tu veux chercher "Forum" sur la première ligne de l'onglet, et, qu'ensuite, tu veux travailler sur toutes les lignes de la colonne en dessous de "Forum", jusqu'à trouver une cellule vide. est-ce exact?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
5 août 2020 à 11:35
5 août 2020 à 11:35
Bonjour,
For j = 3 To 3 sert a rien ou votre code n'est pas complet!
Vous ne recuperez pas les valeurs d'un autre fichier, vous faites un lien entre cellules
For j = 3 To 3 sert a rien ou votre code n'est pas complet!
Vous ne recuperez pas les valeurs d'un autre fichier, vous faites un lien entre cellules
Cette ligne me permet de récupérer les valeurs de la 3ème colonne de mon onglet "Feuil1" et "monFichier" représente un ensemble de fichier présent dans un dossier. Ma boucle parcourt chaque fichier et chaque onglet pour aller récupérer l'onglet "Feuil1".
Je cherche également au lieu d'aller chercher une colonne en fonction de sa position, parcourir l'onglet et dès qu'il trouve un nom de colonne exemple : "Forum" il récupère toutes les valeurs de Forum et les copie dans mon Fichier principale : avec cette ligne :
Peut-être que je m'y prends mal, mais c'est le moyen (fonctionnel) le plus simple que j'ai réussi à trouver jusqu'à maintenant.
Je cherche également au lieu d'aller chercher une colonne en fonction de sa position, parcourir l'onglet et dès qu'il trouve un nom de colonne exemple : "Forum" il récupère toutes les valeurs de Forum et les copie dans mon Fichier principale : avec cette ligne :
Cells(i - 4, j - 2).FormulaR1C1 = "='" & ThisWorkbook.Path & "\[" & monFichier & "]Feuil1'!R" & i & "C" & j Next
Peut-être que je m'y prends mal, mais c'est le moyen (fonctionnel) le plus simple que j'ai réussi à trouver jusqu'à maintenant.
Merci à tous les deux pour vos messages, je vais tacher d'être plus clair.
Mon code à l'heure actuelle fait des liens comme vous l'avez compris.
Ce lien me permet de récupérer les valeurs d'onglet dans des fichiers présents dans le même dossier de ma macro, dont l'objectif finale est de les afficher dans des tables à un endroit donnée.
Après ces liens sont convertis en données brutes et donc n'existe plus. Il ne reste que dans mes tables ces valeurs provenant des onglets cités précédemment.
Pour ce que je cherche à faire c'est récupérer les valeurs dans une colonne portant un nom précis dans mon onglet, exemple "Forum" dans l'onglet "Feuil1" et récupérer les valeurs de cette colonne jusqu'à ce la case soit vide.
Voilà, j'espère avoir été clair, je m'excuse encore une fois pour mes mauvaises explications.
Mon code à l'heure actuelle fait des liens comme vous l'avez compris.
Ce lien me permet de récupérer les valeurs d'onglet dans des fichiers présents dans le même dossier de ma macro, dont l'objectif finale est de les afficher dans des tables à un endroit donnée.
Après ces liens sont convertis en données brutes et donc n'existe plus. Il ne reste que dans mes tables ces valeurs provenant des onglets cités précédemment.
Pour ce que je cherche à faire c'est récupérer les valeurs dans une colonne portant un nom précis dans mon onglet, exemple "Forum" dans l'onglet "Feuil1" et récupérer les valeurs de cette colonne jusqu'à ce la case soit vide.
Voilà, j'espère avoir été clair, je m'excuse encore une fois pour mes mauvaises explications.
yg_be
Messages postés
23336
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
1 551
5 août 2020 à 13:23
5 août 2020 à 13:23
tu n'as pas encore expliqué où les données devaient arriver.
j'adapte ma suggestion pour aller chercher dans la colonne ayant un nom précis en première ligne.
j'adapte ma suggestion pour aller chercher dans la colonne ayant un nom précis en première ligne.
yg_be
Messages postés
23336
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
1 551
>
yg_be
Messages postés
23336
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
Modifié le 5 août 2020 à 13:33
Modifié le 5 août 2020 à 13:33
suggestion:
Private Sub parcourir() Dim csource As Workbook, chemin As String, nlig As Long, ncol As Long, monFichier As String Dim fsource As Worksheet, fdest As Worksheet, trouve As Range, chercher As String chercher = "Forum" chemin = ThisWorkbook.Path monFichier = Dir(chemin & "\*.xlsx", vbNormal) Set fdest = ActiveSheet Set csource = Workbooks.Open(chemin & "\" & monFichier) Set fsource = csource.Sheets("Feuil1") Set trouve = fsource.Rows(1).Find(chercher) If Not trouve Is Nothing Then ncol = trouve.Column nlig = 8 Do While fsource.Cells(nlig, ncol) <> "" fdest.Cells(nlig - 4, 1) = fsource(nlig, ncol) nlig = nlig + 1 Loop End If Call csource.Close End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici mon code complet. Je vais d'abord récupérer chaque nom de fichiers pour les mettre dans ma macro, en créant un nouvel onglet pour chaque fichier.
Ensuite je vais recopier le template d'un onglet déjà présent dans ma macro pour l'appliquer à chaque nouvel onglet créer.
Et c'est là qu'arrive l'étape de récupérer les valeurs de la colonne Forum de chaque Onglet et Fichiers du dossier pour les mettre les nouveaux onglets à un emplacement précis( qui est le même à chaque fois dans la macro).
Ensuite je vais recopier le template d'un onglet déjà présent dans ma macro pour l'appliquer à chaque nouvel onglet créer.
Et c'est là qu'arrive l'étape de récupérer les valeurs de la colonne Forum de chaque Onglet et Fichiers du dossier pour les mettre les nouveaux onglets à un emplacement précis( qui est le même à chaque fois dans la macro).
Sub copie() Dim ws As Worksheet Dim monFichier As String Dim wb As Workbook Dim chemin As String Set wb = Workbooks(ThisWorkbook.Name) chemin = ThisWorkbook.Path & "\" monFichier = Dir(chemin & "*.xlsx", vbNormal) Do While monFichier <> "" Debug.Print monFichier onglet = Split(monFichier, "-", "_")(2) ' La ligne du dessous recopie le template dans chaque nouvel onglet wb.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = onglet Sheets("Template").Range("A1:AH127").Copy Destination:=wb.Sheets(onglet).Range("A1") For i = 8 To 93 'Jusqu'à la ligne 93 For j = 3 To 3 'sur la ligne du dessous je vais juste récupérer mes valeurs dans mes onglets. Cells(i - 4, j - 2).FormulaR1C1 = "='" & ThisWorkbook.Path & "\[" & monFichier & "]Feuil1'!R" & i & "C" & j Next Next monFichier = Dir Loop End Sub
yg_be
Messages postés
23336
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
1 551
5 août 2020 à 14:18
5 août 2020 à 14:18
je suppose que tu peux intégrer ma suggestion dans ton code.
Emile
>
yg_be
Messages postés
23336
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
5 août 2020 à 14:22
5 août 2020 à 14:22
Oui, je vais essayer avec tes suggestions et j'uploderai le résultat pour que ça puisse servir à quelqu'un d'autre également.
Merci encore
Merci encore
yg_be
Messages postés
23336
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 novembre 2024
Ambassadeur
1 551
5 août 2020 à 14:25
5 août 2020 à 14:25
cette discussion semble être la suite de https://forums.commentcamarche.net/forum/affich-36781528-afficher-les-elements-d-un-dossier
Ce serait plus sympa de garder le même identifiant d'une discussion à l'autre.
Ce serait plus sympa de garder le même identifiant d'une discussion à l'autre.
5 août 2020 à 12:55
est-ce exact?
Modifié le 5 août 2020 à 13:32