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 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
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
jusque là , mon classeur principal et le classeur derniere sauvegarde ( choisi par utilisateur) s'ouvrent bien
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
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...
Partager