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

Macros et VBA Excel Discussion :

Macro qui fait grossir la taille du fichier


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 31
    Par défaut Macro qui fait grossir la taille du fichier
    Bonjour à tous,

    j'ai un problème avec un macro, et j'avoue ne pas avoir les capacités pour trouver une solution...
    Je vous expliques:
    J'ai l'enchainement suivant de trois macro à l'aide d'un bouton "MiseAJour" :

    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
    Sub RemplissageTableau()
    Application.ScreenUpdating = False
    Dim c As Range
    Dim EffNec
     
    EffNec = "=IF(OR(RC13=""AGPRO"",RC13=""AGTEC"",RC13=""AGING"",RC13=""AGAPP""),0,RC[-2])"
     
    For I = 11 To Sheets.Count
         With Sheets(I)
         .Columns("T:U").ClearContents
            For Each c In .Range("T1:U" & .Range("S" & Rows.Count).End(xlUp).Row)
            c.Formula = EffNec
            Next c
         End With
    Next I
    Total
    End Sub
    __________________________________________
    Sub Total()
    Dim LastLig As Long, Deb As Long, Fin As Long
    Dim T As Double, U As Double
    Dim Prem As String
    Dim c As Range
     
    For I = 11 To Sheets.Count
    With Sheets(I)
        LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row
        Set c = .Range("B2:B" & LastLig).Find("Total*", LookIn:=xlValues, lookat:=xlPart)
        Deb = 2
        If Not c Is Nothing Then
            Prem = c.Address
            Do
                Fin = c.Row - 1
                .Range("T" & Fin + 1).Formula = "=SUMIF(E" & Deb & ":E" & Fin & ",""<>"",T" & Deb & ":T" & Fin & ")"
                .Range("U" & Fin + 1).Formula = "=SUM(U" & Deb & ":U" & Fin & ")"
                Deb = Fin + 2
                T = T + .Range("T" & Fin + 1)
                U = U + .Range("U" & Fin + 1)
                Set c = .Range("B2:B" & LastLig).FindNext(c)
            Loop While Not c Is Nothing And c.Address <> Prem
        End If
        .Range("T" & LastLig).Resize(, 2) = Array(T, U)
        T = 0
        U = 0
    End With
    Next I
    MiseEnForme
    End Sub
    ______________________________
    Sub MiseEnForme()
    For I = 11 To Sheets.Count
    With Sheets(I)
    .Columns("E:E").Copy
        .Columns("D:V").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
     
        .Columns("A:V").AutoFit
        .Columns("A:Q").HorizontalAlignment = xlLeft
        .Columns("T:U").HorizontalAlignment = xlRight
        .Columns("R:S").EntireColumn.Hidden = True
        .Columns("R:S").EntireColumn.Hidden = True
        .Columns("V:V").ColumnWidth = 40
        .Columns("L:L").NumberFormat = "m/d/yyyy"
        .Columns("H:H").NumberFormat = "m/d/yyyy"
        .Columns("O:O").NumberFormat = "m/d/yyyy"
        .Columns("Q:Q").NumberFormat = "m/d/yyyy"
        .Columns("D:D").EntireColumn.Hidden = True
    'Mise en forme Ligne
        .Rows("1:1").HorizontalAlignment = xlCenter
        .Rows("1:1").VerticalAlignment = xlCenter
    End With
    Next I
    End Sub
    Tout fonctionne très bien jusqu'à l'arrivé de la macro MiseEnForme.
    Celle-ci fonctionne correctement, mais, je ne sais pas pourquoi, à chaque fois qu'elle s'exécute, elle fait grandement grossir la taille de mon fichier jusqu'à le rendre inutilisable...

    Je ne sais pas d'où viens le problème et j'ai cherché sans trop trouver de solution convenable. j'ai donc besoin de votre aide

    Je suis désolé si je ne me fait pas comprendre et si mon code est pas lisible ou mal opti, je suis en apprentissage ^.^. Si jamais je reformulerai en cas de besoin

    Un grand merci d'avance à ceux qui voudrons bien m'aider, je mets en pièce jointe un fichier test avec le problème en question
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2010] Macro qui fait la mise à jour d'un fichier excel a partir d'un autre en réseau
    Par sangokusabri dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/07/2014, 15h51
  2. VBA excel Une macro qui fait souffrir ?
    Par soleilbleue dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/09/2007, 18h55
  3. [VBA-E] Macro qui fait Ctrl + F ?
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/03/2007, 11h04
  4. Réponses: 7
    Dernier message: 12/11/2006, 02h26
  5. [Access 2003] Macro qui fait planter Access
    Par nuriel2 dans le forum Access
    Réponses: 5
    Dernier message: 10/05/2006, 14h00

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