bonjour,
Objectif principale de ma demande: accélérer la sauvegarde de données ...

à partir de mon classeur principal, je souhaite coller des données copiées dans un feuille dédié à la saisie("depot1") et dans une feuille ("listing final") d'un classeur de sauvegarde qui peut ( lorsque l'utilisateur le souhaite être enregistre-sous ....date et heure ).

pour ce :
  • j'ai déclaré les variables public CS et fichierSAUVE_choisi ( dernier classeur sauvegardé )
    j'ai définie la variable cs qui est le classeur de sauvegarde choisi par l'utilisateur a l'aide d'une aplication.getopenfilename




code thisworbook :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Public fichierSAUVE_choisi As String
Public CS As Workbook
Public Sub Workbook_Open()
 
'Dim fichierSAUVE_choisi As String
'Dim cs As Workbook
MsgBox (" selectionner la dernière savevegarde ..")
 
Call ouvrir_sauv  'appel de la macro qui ouvre le fichier ( 1feuille ("listing final") dans le classeur de sauvegarde )
 
Sheets("ACCEUIL").Activate
 
End Sub
code module 2 où se trouve la macro ouvrir_sauv

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Public fichierSAUVE_choisi As String
Public CS As Workbook
 
Public Sub ouvrir_sauv()
fichierSAUVE_choisi = Application.GetOpenFilename("Excel Files (*.xlsx), .xlsx", , "Sélectionner la caisse où se trouve la liste") ' ouvre une fenetre ouvrir avec parcourir pour selectionner un fichier xlsx
  'import__export.Hide
 
Set CS = Application.Workbooks.Open(fichierSAUVE_choisi)  ' je determine le nom du classeur ( variable public )
 
'Application.Workbooks.Open
End Sub
jusque là , mon classeur principal et le classeur derniere sauvegarde ( choisi par utilisateur) s'ouvrent bien


MAIS il semble que la variable public CS ne fonctionne pas ( erreur en ligne 19 )dans ce code d'un module 1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Public fichierSAUVE_choisi As String
Public CS As Workbook
 
 
Sub enregisterdepot1()
 
Application.ScreenUpdating = False
 
If Range("B11").value = "" Or Range("C11").value = "" Or Range("D11").value = "" Or Range("E11").value = "" Or Range("F11").value = "" Or Range("I11").value = "" Then
                            MsgBox "ATTENTION, des cases jaunes n'ont pas été renseignées"
                               Exit Sub
   Else
        Range("B11:I20").Copy
        'Selection.Copy
 
            Worksheets("listing final").Cells(Rows.Count, "B").End(xlUp)(2).PasteSpecial (xlValues)
'*******************************
 
            CS.Worksheets("listing final").Cells(Rows.Count, "B").End(xlUp)(2).PasteSpecial (xlValues)    '**********************PROBLEME avecla variable CS : message d'erreur 91 :variable objet ou variable bloc with non definie ........
 
 
'*********************************************************
        Workbooks("caisse_principale_import2.xlsm").Sheets("listing final").Visible = True
        Sheets("listing final").Select
 
 
        Call initialise_DEPOT_1
 
 
 
 
        Range("B11").Select
        Application.ScreenUpdating = True
                Sheets("listing final").Visible = False
 
 End If
 
End Sub

je ne ne comprends pas pourquoi ...

merci beaucoup pour votre aide...