Message d’erreur lorqu’on rentre’ une donnée déjà existante

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
Maxiburger
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 18 avril 2019
Version d'Excel : 2016

Message par Maxiburger » 19 avril 2019, 14:04

Bonjour à tous. J’ai créer un petit programme permet à t de recentrer Des circuits et des voitures. Ensuite on peut leur associer un chrono avec un réglage. J’aimerais que l’orque je fait ajouter circuit par exemple (valable aussi pour ajouter voiture) j’ai un message d’erreur me disant que le véhicule ou circuit existe déjà. J’ai essayer des choses sans succès. Pouvez vous m’aider ? Merci 😊
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'349
Appréciations reçues : 201
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 19 avril 2019, 14:52

Bonjour à tous,

Fichier très lourd, mais peu de données. Ce ne sont que des formats et formules sur plus d'un million de lignes.

Sinon au pif, ce fichier ne devrait pas faire plus de 200 ko. :P




ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
M
Maxiburger
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 18 avril 2019
Version d'Excel : 2016

Message par Maxiburger » 19 avril 2019, 14:53

Comment faire pour qu’il soit plus « léger » ?
A
AlgoPlus
Membre dévoué
Membre dévoué
Messages : 706
Appréciations reçues : 59
Inscrit le : 27 février 2019
Version d'Excel : 2007

Message par AlgoPlus » 19 avril 2019, 14:58

bonjour à tous,

Utiliser des modules de classes pour ajouter une données dans un tableau, parait un peu lourd....

Pour les circuits, dans le module de classe CCircuit, modifier la Sub sauvegarder():
Public Sub sauvegarder()
Dim ligne As Integer, C As Range
With Worksheets("Donnees Utiles")
    ligne = .Range("A" & Rows.Count).End(xlUp).Row
    Set C = .Range("A2:A" & ligne).Find(circuit, lookat:=xlWhole)
    If Not C Is Nothing Then
        MsgBox "Ce circuit existe déjà !"
        Exit Sub
    Else
        .Cells(ligne + 1, 1) = circuit
    End If
End With
End Sub
Adapter pour les véhicules...

A+
M
Maxiburger
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 18 avril 2019
Version d'Excel : 2016

Message par Maxiburger » 26 avril 2019, 13:13

Merci beaucoup AlgoPlus pour ton aide effectivement ça marche super bien ça m’enlve une belle épine du pied.

Concernant les modules de classes le truc c’est que notre prof nous oblige à suivre un diagramme UML et donc avec des modules de classes pour chaque partie. Il veux aussi qu’on ai un module de classe à appelé système ou le nom de notre programme qui regroupe l’ensemble des sauvegarder supprimer etc de tous les modules de classe Chose que je ne sais absolument pas faire.

Merci à tous de votre aide avez vous une idée pour rendre mon programme moins lourd ?
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message