VBA- Copier un tableau d'un fichier A à l'ouverture du B
Résolu
howiz
Messages postés
21
Statut
Membre
-
michel_m Messages postés 18903 Statut Contributeur -
michel_m Messages postés 18903 Statut Contributeur -
Bonjour,
Je souhaite copier le tableau d'un fichier A (fichier source), à l'ouverture de mon fichier B, le tout sans utiliser de select qui provoquent des bugs.
J'ai deux bases de données, BD_entreprises, BD_DO3. Je souhaite que dès que j'ouvre mon fichier "plan de prévention", les bases de données de ce fichier se mettent à jour à partir du fichier source. (Je ne veux pas que les utilisateurs travaillent sur le fichier source)
Voici mon code actuellement :
Je ne sais pas si je suis clair. Je vous remercie d'avance pour votre aide.
Je souhaite copier le tableau d'un fichier A (fichier source), à l'ouverture de mon fichier B, le tout sans utiliser de select qui provoquent des bugs.
J'ai deux bases de données, BD_entreprises, BD_DO3. Je souhaite que dès que j'ouvre mon fichier "plan de prévention", les bases de données de ce fichier se mettent à jour à partir du fichier source. (Je ne veux pas que les utilisateurs travaillent sur le fichier source)
Voici mon code actuellement :
Private Sub Workbook_Open()
Workbooks.Open Filename:= _
"F:\...."
Application.Goto Reference:="BD_Entreprise"
Selection.Copy
Windows("Plan de prevention.xlsm").Activate
Application.Goto Reference:="BD_Entreprise"
Windows("Fichier source - Plan de prevention.xlsm").Activate
Application.Goto Reference:="BD_DO3"
Selection.Copy
ActiveWindow.Close
Windows("Plan de prevention.xlsm").Activate
Application.Goto Reference:="BD_DO3"
Sheets("Utilisation de ce fichier").Select
End Sub
Je ne sais pas si je suis clair. Je vous remercie d'avance pour votre aide.
A voir également:
- VBA- Copier un tableau d'un fichier A à l'ouverture du B
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Tableau word - Guide
- Trier un tableau excel - Guide
1 réponse
Bonjour
effectivement, pas clair
un exemple de principe qui transfère la base de données source vers la cible les 2 fichiers ouverts
le princioe est de mémoriser la base source, nettoyer la cible, restituer à l'endroit de la base cible la base source
mais comme on ne sait rien de ta base source (nombre de colonne), taille de la base nommée cible, cellule en haut et à gauche du premier élément de base cible... il y a des probas que ca plante
Michel
effectivement, pas clair
un exemple de principe qui transfère la base de données source vers la cible les 2 fichiers ouverts
pplication.ScreenUpdating = False
With Workbooks("fichiersource.xls")
tableau = Range("basesource")
End With
With Workbooks("fichiercible.xls").Sheets(1)
With Range("labasecible")
.Clear
.Value = tableau
End With
.Activate
End With
le princioe est de mémoriser la base source, nettoyer la cible, restituer à l'endroit de la base cible la base source
mais comme on ne sait rien de ta base source (nombre de colonne), taille de la base nommée cible, cellule en haut et à gauche du premier élément de base cible... il y a des probas que ca plante
Michel
Merci pour votre réponse. J'ai trouvé une solution qui à l'air de fonctionner :
Pensez vous que c'est viable ?
Merci
comme c'est un peu plus précis
pas besoin de "copy"
il faut nettoyer la cible car si tu peux ajouter des entreprises---> tu peux aussi en supprimer et ta cible garde la fin de son ancienne apparence