Extraction de donné venant de classeur différent VBA
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je commence tous juste à m'exercer à VBA, et je ne maitrise pas encore le sujet ^^
Bon but est le suivant, mais je vous met un fichier exemple également, ce sera plus simple.
J'ai un fichier avec une liste de bâtiment, avec des plage de date en face.
j'ai transformer cette version "tableau", en une version "calendrier" plus simple à lire.
les dates varié d'une semaine à l'autre. et pour chaque nouvelle date, je reçoit un nouveau tableau. Ce nouveau tableau à toujours le même format, avec les informations que je recherche au même endroit. Seul la valeur des dates change.
mon but est le suivant :
je sélectionne 1 bat, et j'extrait dans les différents fichier des semaines correspondant, la valeur des dates.
mon but étant de voir, si les dates varie beaucoup d'une fois à l'autre, et comment.
https://www.cjoint.com/c/NKClTQ0ZDgm
j'ai regarder un peu, et sur ChatGPT, il mon proposer ce code :
Sub ExtraireDonnees()
' Déclarer les variables
Dim ClasseurSource As Workbook
Dim ClasseurCible As Workbook
Dim FeuilleSource As Worksheet
Dim FeuilleCible As Worksheet
Dim PlageSource As Range
Dim PlageCible As Range
' Définir le classeur cible (actuel)
Set ClasseurCible = ThisWorkbook
' Ouvrir le classeur source
' Remplacez "C:\chemin\vers\classeur.xlsx" par le chemin de votre classeur source
Set ClasseurSource = Workbooks.Open("C:\chemin\vers\classeur.xlsx")
' Définir la feuille source dans le classeur source
Set FeuilleSource = ClasseurSource.Sheets("Feuille1")
' Remplacez par le nom de la feuille source
' Définir la plage de données à copier dans la feuille source (par exemple, de A1 à D10)
Set PlageSource = FeuilleSource.Range("A1:D10")
' Remplacez par votre plage de données
' Définir la feuille cible dans le classeur actuel
Set FeuilleCible = ClasseurCible.Sheets("Feuille1")
' Remplacez par le nom de la feuille cible
' Définir la plage de destination dans la feuille cible (par exemple, commencer à A1)
Set PlageCible = FeuilleCible.Range("A1")
' Copier les données depuis la plage source PlageSource.Copy
' Coller les données dans la plage cible PlageCible.PasteSpecial Paste:=xlPasteValues
' Fermer le classeur source (sans enregistrer les modifications) ClasseurSource.Close SaveChanges:=False
' Afficher un message de confirmation
MsgBox "Les données ont été extraites avec succès!"
End Sub
Je pense que cela pourrait plus ou moins correspondre, mais je ne suis pas encore assez caler en VBA pour ajuster le code selon mon besoin.
Si quelqu'un a une idée, je suis prenneur svp ? (avec les explications qui vont avec histoire que j'apprenne un peu ^^)
Merci d'avance
Windows / Chrome 127.0.0.0
- Extraction de donné venant de classeur différent VBA
- D'où peut venir un problème de connexion internet sur un ordinateur ? - Guide
- Excel différent de 0 - Forum Excel
- Excel différent de vide - Forum Excel
- Étiquette classeur a imprimer gratuit excel - Forum Excel
- Texte de don d'héritage ✓ - Forum Vos droits sur internet
1 réponse
bonjour,
En quoi le code diverge-t-il de ton besoin?
Tu n'expliques pas clairement ce que tu souhaites précisément obtenir.
Souhaites-tu te former en VBA?
En fait, une formation VBA, je suis pas contre, ça c'est certain ^^
pour mon sujet, soit je me suis pas super bien expliqué, soit c'est moi qui est pas ben comprit le code que l'on ma proposé (ou peut être les 2)
Je sais pas si un œil à été jeter un fichier que j'ai mis, il sera peut être plus parlant.
Si j'ai compris le code que l'on ma proposer, cela me permet d'extraire une valeur d'une cellule cible dans un fichier source, à inscrire dans mon fichier cible dans la cellule qui m'intéresse. Cependant je doit indiqué précisément la cellule cible, et celle ci est fixe
moi, ce que souhaiterai c'est que ma cellule cible (ce qui va récupérer les donnés), va varié en fonction de mon choix de bâtiment
je sais pas si j'ai réussis à être plus précis dans ma demande
Si en plus tu emploies le mot "cible" au lieu de "source", cela ne va pas aider à clarifier.
Tu as écrit plusieurs fois avoir plusieurs fichiers, peux-tu aussi clarifier?
Quand tu écris "j'extrait dans les différents fichier", le "dans" est peu clair. Utilise plutôt "copier", et "à partir de" ou "vers".
pas de soucis, désolé pour mes explications un peu vaseuse.
Je reçois chaque semaine un fichier de ce style là :
avec une liste de bâtiment, et des dates de disponibilité de celui-ci.
comme indiqué, ce fichier est mise à jour chaque semaine, avec des changements dans les dates.
mon souhait, serai d'avoir un fichier "synthèse" presque identique à celui ci, mise à part que j'aurai les numéro de semaine à la place du bâtiment, sur lequel :
- je choisi un bâtiment de la liste :
- ensuite VBA, va ouvrir les différents fichier "semaine"
- il cherche dans charque fichier "semaine", la ligne du bâtiment que j'aurai choisi plus haut
- et récupère les dates.
Est ce que c'est plus clair ?
Cela me semble bien compliqué.
Ne serait-il pas plus simple d'avoir toutes les données rassemblées dans un onglet, et de filtrer ensuite sur le batiment à examiner?