XL 2019 Ouvrir un fichier Excel à l'aide d'un autre

Pieerre69

XLDnaute Junior
Bonjour à tous,

Je souhaite ouvrir un fichier Excel à partir d'un autre, pour y coller des données (il me servira de data base). Côté code, je me suis débrouillé sans optimiser, mais ça l'ouvre bien.
Le problème que je rencontre, c'est que le fichier ne s'ouvre pas comme un classeur à part. Il à l'air d'être "encastré" dans le fichier d'origine (je n'ai pas accès au bandeau, au zoom, etc etc..).

Je ne peux même pas activer ou sélectionner les feuilles de ce classeur, ni coller des données. L'erreur apparaît à partir de la ligne 9.

Avez-vous un solution ?

Ci-dessous mon code. Ne me tapez pas sur les doigts je débute :D je l'optimiserai plus tard, l'important c'est que ce soit fonctionnel.
Code:
Private Sub workbook_beforeclose(cancel As Boolean)

    Sheets("MENU PRINCIPAL").Select
    Windows("Hekipia - Colisage manquant V1.xlsm").Activate
    Range("A2").Select
    Selection.Copy
    Workbooks.Open Filename:= _
        "C:\Users\pierr\OneDrive\Bureau\BDD.xlsx"
    Workbooks("BDD.xlsx").Activate
    Worksheets("data save").Activate
    Range("A1").Select
    ActiveCell.Paste
    ActiveWorkbook.Save
    ActiveWindow.Close
    
End Sub

Merci d'avance
 

ERIC S

XLDnaute Barbatruc
Bonjour

je ne comprends pas ce que tu veux faire dans la vraie vie :
tu lances ta macro juste avant de fermer ton fichier (normal ou pas ?)
après tu copies A2 de hekipia dans A1 de bdd ?
et il semble que tu fermes bdd, puis ton fichier d'origine
 

Pieerre69

XLDnaute Junior
Dans la vraie :
Je fais un compteur, qui prend +1 à chaque clic sur un bouton.
La valeur de ce compteur (variable que j'ai appelé numero_anomalie) doit être sauvegardée. En revanche le fichier doit être "vidé" de tout contenu.
Les opérateurs de production doivent saisir des données, les imprimer mais pas les sauvegarder. En fermant le fichier, je souhaite simplement garder en mémoire l'incrément, que je rebalance à l'ouverture du fichier.
 

Jacky67

XLDnaute Barbatruc
Bonjour à tous,

Je souhaite ouvrir un fichier Excel à partir d'un autre, pour y coller des données (il me servira de data base). Côté code, je me suis débrouillé sans optimiser, mais ça l'ouvre bien.
Le problème que je rencontre, c'est que le fichier ne s'ouvre pas comme un classeur à part. Il à l'air d'être "encastré" dans le fichier d'origine (je n'ai pas accès au bandeau, au zoom, etc etc..).

Je ne peux même pas activer ou sélectionner les feuilles de ce classeur, ni coller des données. L'erreur apparaît à partir de la ligne 9.

Avez-vous un solution ?

Ci-dessous mon code. Ne me tapez pas sur les doigts je débute :D je l'optimiserai plus tard, l'important c'est que ce soit fonctionnel.
Code:
Private Sub workbook_beforeclose(cancel As Boolean)

    Sheets("MENU PRINCIPAL").Select
    Windows("Hekipia - Colisage manquant V1.xlsm").Activate
    Range("A2").Select
    Selection.Copy
    Workbooks.Open Filename:= _
        "C:\Users\pierr\OneDrive\Bureau\BDD.xlsx"
    Workbooks("BDD.xlsx").Activate
    Worksheets("data save").Activate
    Range("A1").Select
    ActiveCell.Paste
    ActiveWorkbook.Save
    ActiveWindow.Close
 
End Sub

Merci d'avance
Bonjour,
Autre solution sans vba
1-Ouvrir les deux classeurs, "Source" et "Destination"
2-Dans la feuille du classeur de destination, sélectionner la cellule de destination.
3-Dans cette cellule (comme pour une formule) saisir==> =
4-Selectionner dans le classeur source la feuille et la cellule à copier
5-Valider
6-Fermer le classeur source
Voila, le classeur "destination" fera toujours réference à la cellule du classeur "source", même classeur fermer
 

ERIC S

XLDnaute Barbatruc
Re

pas sûr d'avoir tout compris

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("MENU PRINCIPAL").Select
Workbooks.Open Filename:= _
ThisWorkbook.Path & "\BDD.xlsx"
Workbooks("BDD.xlsx").Worksheets("data save").Range("A1").Value = Workbooks("Hekipia - Colisage manquant V1.xlsm").Sheets(1).Range("A2").Value
Workbooks("BDD.xlsx").Close savechanges:=True
ActiveWindow.Close
End Sub
 

Pieerre69

XLDnaute Junior
Bon, je me suis rendu compte que mon problème n'était pas un problème en soi. Je vais simplement utilsier la fonction ClearContent dans les cellules saisies par les opérateurs à la sortie du fichier, tout en le sauvegardant pour garder l'incrément.

Je me suis embêté pour rien.. Merci quand même !
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali