IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Pertes de données après sauvegarde


Sujet :

Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Total novice
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Total novice
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Pertes de données après sauvegarde
    Bonsoir à tous,

    Je suis une bidouilleuse novice en VBA excel et rencontre une difficulté dont je n'arrive pas à bout malgré de nombreuses recherches sur le net.
    Peut-être pourriez-vous m'éclairer?
    Voici le souci :
    J'ai 2 fichiers partagés avec plusieurs onglets sous EXCEL 2003.
    Dans le fichier A, sont saisies des données dans les colonnes de A à G. Ce fichier se déverse, par VBA dans un fichier B où j'y saisi des données complémentaires de H à O.
    Toujours par macro, je rappatrie l'ensemble des données du fichier B dans Le fichier A, onglé par onglet.
    Bien sûr les fichiers sont sauvegardés.
    Tout fonctionne à merveille, sauf qu'au bout d'un moment, dans la journée ou le lendemain, certaines données du fichier B se modifient et reprennent leur valeur antérieur.
    Ex : dans une cellule, je note ? + enregistrement du fichier. 2 jours après, je reviens en modifie : 500 puis enregistrement.
    Je reviens 2 jours après et la donnée et repassée à ?.

    J'ai créé les macro sous Excel 2010 et les ai copiées- collées dans des fichiers excel 2003.

    Merci d'avoir pris le temps de me lire jusqu'au bout

  2. #2
    Membre habitué
    Homme Profil pro
    Back Office Marchés
    Inscrit en
    Mars 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Back Office Marchés
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 65
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Ce serait bien de voir ton code...

    Cordialement,

    Guillaume.

  3. #3
    Candidat au Club
    Femme Profil pro
    Total novice
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Total novice
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Avec plaisir.

    Ces macros sont dans module :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    __________________________________
    Sub MacroSupl()
    '
    ' MacroSupl Macro
    ' Macro enregistrée le 22/11/2011 
    '
    '
        AddIns("Utilitaire d'analyse").Installed = True
    End Sub
    ______________________________________
    Sub BouttonHN()
    ' Définition variables
        Dim visionPAG As String
        visionPAG = "H:\vie_des_commandes_vision_PAG.xls"
     
    ' BouttonHN Macro
    '
    '   Sélection dea info à enregistrer
        Range("A8:p8").Select
        Selection.Copy
    '
    '   Ouvrir le classeur PAG
        Workbooks.Open visionPAG
    '
    '   Ecrire dans la feuille
        Sheets("HN").Select
        Dim Lg As String
        ' La ligne dans laquelle sont ajoutées les valeurs est définie par la textbox6
        If Sheets("HN").Cells(65536, 1).End(xlUp).Row = 1 Then
          Lg = 2
          Else
          Lg = Sheets("HN").Cells(65536, 1).End(xlUp).Row + 1#
        End If
        ' texte des cases
         Sheets("HN").Cells(Lg, "A").Select
        ActiveSheet.Paste
    '
    '   Sauvegarder le classeur PAG
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs "H:\vie_des_commandes_vision_PAG.xls"
     
    '
    ' Recopier HN PAG dans HN formateur
        Cells.Select
        Selection.Copy
        Windows("vie_des_commandes.xls").Activate
        Sheets("HN").Select
        Range("A1").Select
        ActiveSheet.Paste
        Windows("vie_des_commandes_vision_PAG.xls").Activate
     
    '   Fermer le classeur PAG
        ActiveWorkbook.Close
     
    '   Valider l'enregistrement de la ligne formateur
        Sheets("Formulaire").Select
        Range("A17").Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = "La session est enregistrée pour le compte de la HN"
        Range("A18").Select
        Application.DisplayAlerts = True
    End Sub
    __________________________________
    Sub Effacer()
    '
    ' Effacer Macro
    '
     
    '
        Range("a8:a8").Select
        Selection.ClearContents
        Range("c8:f8").Select
        Selection.ClearContents
        Range("g8:p8").Select
        Selection.ClearContents
        Range("A17").Select
        Selection.ClearContents
    End Sub
    _______________________________________
    Sub BouttonNPC()
    ' Définition variables
        Dim visionPAG As String
        visionPAG = "H:\vie_des_commandes_vision_PAG.xls"
    '
    ' BouttonNPC Macro
    '
     
    '
        Range("A8:p8").Select
        Selection.Copy
    '
    '   Ouvrir le classeur PAG
        Workbooks.Open visionPAG
    '
        Sheets("NPC").Select
        Dim Lg As String
        ' La ligne dans laquelle sont ajoutées les valeurs est définie par la textbox6
        If Sheets("NPC").Cells(65536, 1).End(xlUp).Row = 1 Then
          Lg = 2
          Else
          Lg = Sheets("NPC").Cells(65536, 1).End(xlUp).Row + 1#
        End If
        ' texte des cases
         Sheets("NPC").Cells(Lg, "A").Select
        ActiveSheet.Paste
    '
    '
    '   Sauvegarder le classeur PAG
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs "H:\vie_des_commandes_vision_PAG.xls"
     
    '
    ' Recopier NPC PAG dand HN formateur
        Cells.Select
        Selection.Copy
        Windows("vie_des_commandes.xls").Activate
        Sheets("NPC").Select
        Range("A1").Select
        ActiveSheet.Paste
        Windows("vie_des_commandes_vision_PAG.xls").Activate
     
    '   Fermer le classeur PAG
        ActiveWorkbook.Close
     
        Sheets("Formulaire").Select
        Range("A17").Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = "La session est enregistrée pour le compte du NPC"
        Range("A18").Select
        Application.DisplayAlerts = True
    End Sub
    __________________________________________
    Sub BouttonPIC()
    ' Définition variables
        Dim visionPAG As String
        visionPAG = "H:\vie_des_commandes_vision_PAG.xls"
    '
    ' BouttonPIC Macro
    ' Macro enregistrée le 17/11/2011 par IFDE2300
    '
     
    '
        Range("A8:p8").Select
        Selection.Copy
    '
    '   Ouvrir le classeur PAG
        Workbooks.Open visionPAG
     
        Sheets("PIC").Select
        Dim Lg As String
        ' La ligne dans laquelle sont ajoutées les valeurs est définie par la textbox6
        If Sheets("PIC").Cells(65536, 1).End(xlUp).Row = 1 Then
          Lg = 2
          Else
          Lg = Sheets("PIC").Cells(65536, 1).End(xlUp).Row + 1#
        End If
        ' texte des cases
         Sheets("PIC").Cells(Lg, "A").Select
        ActiveSheet.Paste
    '
    '
    '   Sauvegarder le classeur PAG
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs "H:\vie_des_commandes_vision_PAG.xls"
     
    '
    ' Recopier PIC PAG dand HN formateur
        Cells.Select
        Selection.Copy
        Windows("vie_des_commandes.xls").Activate
        Sheets("PIC").Select
        Range("A1").Select
        ActiveSheet.Paste
        Windows("vie_des_commandes_vision_PAG.xls").Activate
     
    '   Fermer le classeur PAG
        ActiveWorkbook.Close
     
        Sheets("Formulaire").Select
        Range("A17").Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = "La session est enregistrée pour le compte de la PIC"
        Range("A18").Select
        Application.DisplayAlerts = True
    End Sub
    _______________________________________
    Sub BouttonOnglets()
    ' Définition variables
        Dim visionPAG As String
        visionPAG = "H:\vie_des_commandes_vision_PAG.xls"
    '
    '   Ouvrir le classeur PAG
        Workbooks.Open visionPAG
    '
    ' Recopier HN PAG dand HN formateur
        Sheets("HN").Select
        Cells.Select
        Selection.Copy
        Windows("vie_des_commandes.xls").Activate
        Sheets("HN").Select
        Range("A1").Select
        ActiveSheet.Paste
        Windows("vie_des_commandes_vision_PAG.xls").Activate
    ' Recopier NPC PAG dand HN formateur
        Sheets("NPC").Select
        Cells.Select
        Selection.Copy
        Windows("vie_des_commandes.xls").Activate
        Sheets("NPC").Select
        Range("A1").Select
        ActiveSheet.Paste
        Windows("vie_des_commandes_vision_PAG.xls").Activate
    ' Recopier PIC PAG dand HN formateur
        Sheets("PIC").Select
        Cells.Select
        Selection.Copy
        Windows("vie_des_commandes.xls").Activate
        Sheets("PIC").Select
        Range("A1").Select
        ActiveSheet.Paste
        Windows("vie_des_commandes_vision_PAG.xls").Activate
    ' Recopier IR PAG dand IR formateur
        Sheets("IR").Select
        Cells.Select
        Selection.Copy
        Windows("vie_des_commandes.xls").Activate
        Sheets("IR").Select
        Range("A1").Select
        ActiveSheet.Paste
        Windows("vie_des_commandes_vision_PAG.xls").Activate
    '
    '   Fermer le classeur PAG
        Application.DisplayAlerts = False
        ActiveWorkbook.Close
     
        Sheets("Formulaire").Select
        Range("A17").Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = "Les onglets sont mis a jour"
        Range("A18").Select
        Application.DisplayAlerts = True
     
     
    End Sub
    ___________________________
    Sub BouttonIR()
    ' Définition variables
        Dim visionPAG As String
        visionPAG = "H:\vie_des_commandes_vision_PAG.xls"
     
    '
    ' BouttonHN Macro
    '
    '   Sélection dea info à enregistrer
        Range("A8:p8").Select
        Selection.Copy
    '
    '   Ouvrir le classeur PAG
        Workbooks.Open visionPAG
    '
    '   Ecrire dans la feuille
        Sheets("IR").Select
        Dim Lg As String
        ' La ligne dans laquelle sont ajoutées les valeurs est définie par la textbox6
        If Sheets("IR").Cells(65536, 1).End(xlUp).Row = 1 Then
          Lg = 2
          Else
          Lg = Sheets("IR").Cells(65536, 1).End(xlUp).Row + 1#
        End If
        ' texte des cases
         Sheets("IR").Cells(Lg, "A").Select
        ActiveSheet.Paste
    '
    '   Sauvegarder le classeur PAG
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs "H:\vie_des_commandes_vision_PAG.xls"
     
    '
    ' Recopier IR PAG dans HN formateur
        Cells.Select
        Selection.Copy
        Windows("vie_des_commandes.xls").Activate
        Sheets("IR").Select
        Range("A1").Select
        ActiveSheet.Paste
        Windows("vie_des_commandes_vision_PAG.xls").Activate
     
    '   Fermer le classeur PAG
        ActiveWorkbook.Close
     
    '   Valider l'enregistrement de la ligne formateur
        Sheets("Formulaire").Select
        Range("A17").Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = "La session est enregistrée pour le compte de l'InterRégion"
        Range("A18").Select
        Application.DisplayAlerts = True
    End Sub

    Est-ce grave docteur?

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Es tu la seule a travailler sur ces fichiers?
    Ces fichiers sont ils accessiblent sur le réseau par une tiers personne?
    Jérôme

  5. #5
    Candidat au Club
    Femme Profil pro
    Total novice
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Total novice
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Je suis la seule à bidouillée le VBA. Les fichiers sont partagés et accessibles à tous.

    Afin d'éviter les manipulation malencontreuses, j'ai pri le parti de laisser accessible à tous le fichier "vie_des_commandes" et de placer au fond d'un répertoir ou nous sommes que 2 à aller, le fichier "vie_des_commandes_vision_PAG".

    Cordialement
    Astralie

  6. #6
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Les fichiers sont partagés et accessibles à tous.
    Voici une hypothèse :

    • L'utilisateur ouvre le fichier A et travail dessus
    • L'utilisateur 2 ouvre le fichier A
    • L'utilisateur 1 enregistre et ferme le fichier A
    • L'utilisateur 2 Enregistre le fichier A et écrase les modifs de l'utilisateur 1
    Jérôme

  7. #7
    Candidat au Club
    Femme Profil pro
    Total novice
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Total novice
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Je ne pense pas que ce cas soit possible car l'utilisateur 1 travail sur une plage de cellule (ex :A5 à G5) et l'utilisateur 2 sur une autre plage (H5 à X5).

    D'autre part les modifs tiennent entre 12h et 24h après l'enregistrement. C'est à la réouverture, le lendemain que les données se perdent ou reviennent à une valeur antérieur.

    J'avoue que c'est particulièrement étrange.

    Cordialement
    Astralie

  8. #8
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    A part ma précédente hypothèse et la remontée d'un jeu de souvegarde pendant la nuit, je ne vois pas.
    Jérôme

  9. #9
    Candidat au Club
    Femme Profil pro
    Total novice
    Inscrit en
    Janvier 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Total novice
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,

    Le mystère est résolu.

    C'est l'interface chaise-clavier qui est en cause...

    En effet, j'ai demandé plusieurs fois à ma collègue si elle utilisait le fichier A ou le fichier B. Elle me soutenait mordicus utiliser le fichier B. Quand, enfin, elle m'a laissé son PC, pour analyser de plus près le soucis, je me suis rendue compte de la méprise.(Elle utilisait le fichier A dont certaines données sont régulièrement écrasée par celles du fichier B)

    Que d'énergie et de temps perdus en sauvegardes intermédiaires, recherche d'erreur de prog...
    Je suppose que cela fait parti du jeu.

    En tout cas, grand merci pour votre soutien. Cela me donne envie de persévérer dans l'apprentissage du VBA puisque je sais que des personnes aussi attentives que vous sont prêtes à m'épauler.

    Cordialement
    Astralie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2002] Message "Pour éviter la perte de données.." apres un RefreshStyle par macro
    Par Williamm dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/08/2011, 11h35
  2. Réponses: 1
    Dernier message: 21/02/2008, 12h52
  3. Dataguard : perte de données après failover ?
    Par scheu dans le forum Administration
    Réponses: 6
    Dernier message: 01/09/2007, 15h20
  4. Pertes des données après un submit
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 22/08/2007, 21h34
  5. Réponses: 1
    Dernier message: 07/06/2006, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo