Problèmes d'enregistrement récurents

Bonjour à tous et à toutes,

Je m'adresse à vous car je commence un peu à désespérer sur un document Excel sur lequel je travaille. Je travaille dans le domaine de la biologie et Excel est un des outils le plus utilisé. J'ai commencé en septembre 2023 à travailler sur un nouveau tableau Excel afin de mieux répondre à nos besoins.

Vous trouverez mon fichier Excel joint à ce post pour que vous puissiez voir de quoi je parle.

Afin d'essayer de vous faire comprendre ce document et son utilisation voici ses objectifs :

- suivre les caractéristiques des "lots d'aliquotes" d'une "sonde" que nous commandons fréquemment. L'onglet "sonde suivi" permet de différencier les "lots des aliquotes" de cette même sonde car à chaque commande ce numéro change. A la réception, nous remplissons cet onglet avec 1 tube = 1 ligne.

- suivre l'utilisation de chaque "lots d'aliquotes" dans les onglets "Modèle_LotsX": 1 ligne de la feuille "sonde suivi" = 1 onglet.

Nous pouvons parfois recevoir de nombreux tubes d'un coup et ayant des personnes dans l'équipe ne maitrisant pas du tout Excel, nous avons décidé de faire une macro afin de ne pas avoir besoin de dupliquer l'onglet "Modèle_LotX" et de compléter des cellules spécifique type "=Modèle_LotX!E28" (je vous laisse aller voir la macro dans le document Excel). Certaines cellules sont aussi protégés à la modification afin d'éviter les modification intempestives (je vous ai libéré ces cellules dans l'Excel partagé afin que vous ne soyez pas limités dans vos actions).

Il s'agit d'une macro que j'ai essayé de simplifier au max suite aux problèmes que j'ai pu avoir. Ainsi, afin d'alléger la macro, certaines cellules contiennent des formules type "=RECHERCHEV(D4;Sonde_Suivi!E16:K101;4;FAUX)" afin de renvoyer à des valeurs d'un autre onglet. J'aimerai ajouter cette formule à une autre colonne mais j'ai peur que cela aggrave mon cas...

Après plusieurs tests, nous avons décidé de mettre en route quelques feuilles Excel de plusieurs sondes afin de tester son utilisation. Nous nous somme alors rapidement confronté à un problème apparu après quelques semaines d'utilisation (cf image ci-dessous) :

erreur excel 1

La première fois, ça ne m'a pas inquiété car je supposait que cela vienne d'erreurs d'enregistrement aléatoire. J'ai donc restauré une version antérieure ce qui a permis l'enregistrement du document sans soucis.

Le problème est que ce message d'erreur n'est pas apparu qu'une seule fois ni sur 1 seul des 30 tableau Excel mis en place. Parmi les 30, cinq présentent ce message et de manière récurrente. J'ai alors décidé qu'à chaque problème, au lieu de restaurer une version antérieure, j'allait recréer le tableau à partir du modèle (celui joint à ce post). Malheureusement, certains tableaux recréés et des nouveaux fichiers ont continué d'afficher ce message d'erreur après plusieurs semaines d'utilisation. J'ai donc allégé ma macro qui après quelques recherches était, en effet, bien complexe par rapport à ce que je voulais faire ^^. Encore une fois et malgré tout, le problème persiste toujours.

J'ai donc recréé un nouveau modèle de A à Z sans aucun copié/collé, afin d'éviter de transmettre des données corrompues à mon nouveau document, mais encore une fois ce problème est apparu. J'ai donc essayé de recompiler mon document ce qui ma permis de me rendre compte que le menu déroulant de la colonne L de l'onglet "Suivi_Sonde" renvoyait à un autre onglet ce qui pouvait être problématique. J'ai donc corrigé ce problème. Et encore une fois, le problème persiste toujours.

Aujourd'hui je suis bloquée, j'ai conscience de mes limites sur Excel et actuellement je les ait atteintes. J'ai tellement cherché sur ce document qu'il est possible que je passe à côté d'une évidence j'en suis consciente . Alors aujourd'hui je tente ma chance ici dans l'espoir que quelqu'un puisse m'aider et m'éclairer afin de pouvoir résoudre ce problème que je traine maintenant depuis 7 mois.

Je vous remercie par avance,

Julia

Bonjour Julia Msnr,

Une première étape : Feuille "Sonde Suivi", bouton "Nouvelle sonde", vérifier si la nouvelle sonde existe déjà, sinon créer les feuilles nécessaires.

Désolé si les commentaires sont de langue anglaise, c'est la faute à ChatGPT.

Sub test()

    Dim newSheetName As String
    Dim lastValue As String

    ' Get the last value in the "E15" column
    lastValue = Sheets("Sonde_Suivi").Range("E15").End(xlDown).Value
    newSheetName = lastValue

    ' Check if the sheet with the new name already exists
    If Not FeuilleExiste(newSheetName) Then
        ' Rename the last sheet to the new name
        With Sheets(Sheets.Count)
            .Name = newSheetName
        End With

        ' Copy the "Modèle_LotX" sheet and place it after the last sheet
        Sheets("Modèle_LotX").Copy After:=Sheets(Sheets.Count)

        ' Set the value in the new sheet
        Sheets(Sheets.Count).Range("D4") = newSheetName

        ' Add a hyperlink to the new sheet
        ActiveSheet.Hyperlinks.Add Anchor:=Sheets("Sonde_Suivi").Range("E15").End(xlDown), _
            Address:="", SubAddress:="'" & newSheetName & "'!A1"
    Else
        MsgBox "Pas de nouvelle sonde trouvée"
        Exit Sub
    End If

End Sub

Function FeuilleExiste(Nom As String) As Boolean
    Dim Feuille As Worksheet
    FeuilleExiste = False
    For Each Feuille In Worksheets
        If Feuille.Name = Nom Then
            FeuilleExiste = True
            Exit For
        End If
    Next Feuille
End Function

Bizz

Bonjour,

Après plusieurs tests, nous avons décidé de mettre en route quelques feuilles Excel de plusieurs sondes afin de tester son utilisation. Nous nous somme alors rapidement confronté à un problème apparu après quelques semaines d'utilisation (cf image ci-dessous) :

D'après ce que je comprends et sans voir votre vrai fichier, vous avez dû faire un copier-coller d'un autre fichier. Notamment peut-être dans votre colonne Reference où je vois que vous avez mis un lien Hypertexte pour les références de sonde (c'est le souci des liens hypertextes...).

S'il y a une liaison à un autre fichier, vous pouvez le vérifier en sélectionnant une cellule puis en allant dans le menu Insertion --> icone "liens"
Autre manière de vérifier --> Allez dans le menu Fichier --> Informations. En bas à droite, vous devriez voir une information "Modifier les liaisons"

Concernant votre code essayez ceci (variante sans ChatGpt) :

Sub test()
Dim dlg As Integer, i As Integer
Dim nom As String

dlg = Sheets("Sonde_Suivi").Range("E" & Rows.Count).End(xlUp).Row 'derniere ligne feuille suivi
If dlg = 15 Then Exit Sub 'si derniere ligne = 15 on sort du code

nom = Sheets("Sonde_Suivi").Range("E" & dlg) 'nom de la feuille

'verifier si feuille existe
For i = 1 To Sheets.Count
    If Sheets(i).Name = nom Then MsgBox "Cette feuille existe déjà", vbOKOnly + vbCritical, "Feuille existante": Exit Sub
Next i

Sheets("Modèle_LotX").Copy After:=Sheets(Sheets.Count) 'dupliquer feuille modele

With ActiveSheet
    .Range("D4") = nom
    .Name = nom
    .Hyperlinks.Add Sheets("Sonde_Suivi").Range("E" & dlg), Address:="", SubAddress:="" & Sheets(Sheets.Count).Name & "!A1"
End With
End Sub

Cordialement

Bonjour à tous, Julia,

Essayez d'enregistrer vos fichiers au format binaire ".xlsb" vos macros sont conservées

Cela permet parfois de résoudre les problèmes

A+

Bonjour à tous,

Merci d'avoir si rapidement répondu à mon post !

Je vais essayer tout ça et vous redis dans quelques semaines si le problème persiste.

Bon weekend à tous.

Rechercher des sujets similaires à "problemes enregistrement recurents"