Récupérer variable dans un onglet d'un autre classeur
Theo
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je suis tout nouveau sur le forum et je suis débutant en VBA.
Je vous explique mon dilemme, je cherche à récupérer plusieurs variables se trouvant en colonne D dans un onglet nommé "Données" dans des fichiers que je ne souhaite pas ouvrir(trop grand nombre de fichier). Dans l'objectif après de tracer des courbes d'une même variable présent sur différents fichiers et donc de superposer toutes ces variables sur une même courbe.
Ce que j'ai réussi à faire jusqu'à maintenant : Parcourir tous les fichiers présents dans le sous-dossier de ma macro, récupérer le nom du fichier pour l'afficher sous forme d'onglet dans mon code et là je bloque. J'ai tenté quelque chose pour aller récupérer la colonne D de mes fichiers dans l'onglet "Données" mais ça ne fonctionne pas.
Voici mon code :
Je suis tout nouveau sur le forum et je suis débutant en VBA.
Je vous explique mon dilemme, je cherche à récupérer plusieurs variables se trouvant en colonne D dans un onglet nommé "Données" dans des fichiers que je ne souhaite pas ouvrir(trop grand nombre de fichier). Dans l'objectif après de tracer des courbes d'une même variable présent sur différents fichiers et donc de superposer toutes ces variables sur une même courbe.
Ce que j'ai réussi à faire jusqu'à maintenant : Parcourir tous les fichiers présents dans le sous-dossier de ma macro, récupérer le nom du fichier pour l'afficher sous forme d'onglet dans mon code et là je bloque. J'ai tenté quelque chose pour aller récupérer la colonne D de mes fichiers dans l'onglet "Données" mais ça ne fonctionne pas.
Voici mon code :
Sub test()
Dim nomFeuille As String
Dim start As Single
Dim ws As Worksheet
Dim monFichier As String
Dim wb As Workbook
Dim chemin As String
Dim i As Integer
Dim nom As String
Set wb = Workbooks(ThisWorkbook.Name)
Dim sh As Worksheet
chemin = ThisWorkbook.Path & "\l'emplacement_en_sous_dossier_de_mes_fichiers_excel\"
monFichier = Dir(chemin & "*.xlsx", vbNormal)
Do While monFichier <> ""
Debug.Print monFichier
onglet = Split(monFichier, "_")(4) 'je retiens que la fin du fichier
wb.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = onglet
'Cette boucle ne fonctionne pas et j'aimerais quelle récupère les valeurs de la colonne D commençant à la ligne 4 et colonne 2
For Each sh In ActiveWorkbook.Worksheets
For i = 8 To 150
'colonne D
j = 4
Cells(i - 4, j - 2) = "='" & ThisWorkbook.Path & "\[" & monFichier & "]Données'!R" & i & "C" & j:
Next
Next sh
monFichier = Dir
Loop
End Sub
Configuration: Windows / Edge 18.17763
A voir également:
- Récupérer variable dans un onglet d'un autre classeur
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment récupérer un compte facebook piraté - Guide
- Rouvrir un onglet fermé - Guide
- Comment recuperer un numero supprimé - Accueil - Android
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
"Cette boucle ne fonctionne pas": que se passe-t-il?
qu'essaies-tu de faire dans cette boucle? merci d'être factuel et précis.
"récupère les valeurs de la colonne D commençant à la ligne 4 et colonne 2": récupérer de où? pour en faire quoi?
"récupérer la colonne D de mes fichiers dans l'onglet "Données"": veux-tu dire "copier la colonne D des fichiers vers l'onglet "Données" du fichier où se trouve la macro?
la ligne 29 me semble incorrecte, ce n'est pas ainsi qu'on insère une formule dans une cellule.
ce serait plutôt:
"Cette boucle ne fonctionne pas": que se passe-t-il?
qu'essaies-tu de faire dans cette boucle? merci d'être factuel et précis.
"récupère les valeurs de la colonne D commençant à la ligne 4 et colonne 2": récupérer de où? pour en faire quoi?
"récupérer la colonne D de mes fichiers dans l'onglet "Données"": veux-tu dire "copier la colonne D des fichiers vers l'onglet "Données" du fichier où se trouve la macro?
la ligne 29 me semble incorrecte, ce n'est pas ainsi qu'on insère une formule dans une cellule.
ce serait plutôt:
Cells(i - 4, j - 2).formula = '...
Le but à la fin est de récupérer toutes les données de la colonne D (dans l'onglet "Données") de chacun de mes fichiers présents dans mon dossier. Et concaténer toutes ces données sur un même graphique pour les comparer.
Le but de cette boucle est donc dans un premier temps de récupérer la colonne D de mes onglets "Données" pour l'afficher ensuite dans l'onglet correspondant de ma macro.
Le souci, est que la boucle me renvoie "l'indice n'appartient pas à la section, donc je suppose que la macro n'arrive pas à accéder à l'onglet "Données" des fichiers de mon dossier.
J'ai testé avec cette formulation, et ça fonctionne, j'arrive à récupérer les valeurs de ma colonne. Merci beaucoup !