Une base de données un peu lourde...?

  • Initiateur de la discussion Initiateur de la discussion jmeu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jmeu

Guest
Bonjour,

Pour mon activité professionnelle j'ai crée une base de données afin de recenser les bons de commandes, les demandes d'achat... De plus, cette base de données me permet de gagner du temps pour remplir mes documents de base. Merci Excel!!
Toutefois je trouve que cette base est un peu lourde. Il est vrai que je l'ai construite de façon empirique. (merci excel-downloads.com!!)et le problème peut éventuellement venir de là.

en tout cas, j'ai donc un fichier de 1.18 Mo. Si vous êtes intéresse et voulais y jeter un œil, vous pouvez le télécharger sur le lien suivant:
Base de données.xls - File Shared from Box.net - Free Online File Storage
Je me ferai une joie d'expliquer l'objectif et la construction de ce fichier.

Pour des conseils je suis preneur.
Merci et bien à vous.
 
Re : Une base de données un peu lourde...?

Bonjour,

Vérifiez, au moyen de la macro EtatPlage, les nombres de lignes et de colonnes de chacune des feuilles de votre base de données et voyez si vous pouvez éliminer les superflues.

Copiez le code suivant dans un module Standard

Code:
Sub EtatPlage()
Dim R As Range
ActiveWindow.View = xlNormalView
Set R = ActiveSheet.UsedRange
R.Select
MsgBox "Adresse de la plage : " & R.Address(False, False) & vbCrLf & _
       "Nombre de colonnes : " & R.Columns.Count & vbCrLf & _
       "Nombre de lignes : " & R.Rows.Count
End Sub

J'ai trouvé, par exemple, dans la feuille CBA 9693 lignes sur 256 colonnes.

Cordialement.

PMO
Patrick Morange
 
Re : Une base de données un peu lourde...?

Bonsoir,

pour nettoyer ton fichier, tu peux utiliser ce code de Laurent Longre :


Code:
Sub NettoieEtDerniereCellule()     ' Laurent Longre
  Dim Sht As Worksheet, DCell As Range, Calc As Long, Rien As String
  On Error Resume Next
  Calc = Application.Calculation
  With Application
    .Calculation = xlCalculationManual
    .StatusBar = "Nettoyage en cours..."
    .EnableCancelKey = xlErrorHandler
    .ScreenUpdating = False
  End With
  For Each Sht In Worksheets
    If Sht.UsedRange.Address <> "$A$1" Or Not IsEmpty(Sht.[A1]) Then
      Set DCell = Sht.Cells.Find("*", , , , xlByRows, xlPrevious)(2)
      If Not DCell Is Nothing Then
        Sht.Range(DCell, Sht.Cells([A:A].Count, 1)).EntireRow.Delete
        Set DCell = Nothing
        Set DCell = Sht.Cells.Find("*", , , , xlByColumns, xlPrevious)(, 2)
        If Not DCell Is Nothing Then _
 Sht.Range(DCell, Sht.[IV1]).EntireColumn.Delete
      End If
      Rien = Sht.UsedRange.Address
    End If
  Next Sht
  Application.StatusBar = False
  Application.Calculation = Calc
End Sub

Bon courage
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
5
Affichages
2 K
C
Réponses
2
Affichages
1 K
cavenagoal
C
K
Réponses
8
Affichages
1 K
kennynou
K
F
Réponses
7
Affichages
1 K
flapaacha
F
Retour