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 :

VBA simplifier ma macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2019
    Messages : 13
    Par défaut VBA simplifier ma macro
    bonjour ,
    J'ai plusieurs macro du même type qui me ralentis mon fichier Excel. Pouvez vous m'aider pour améliorer ma macro.

    Code vba : 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
    Sub lireEXP_Mem1(Fichier As String)
    Application.ScreenUpdating = False
    Dim intFileNum%, bytTemp As Byte, intCellRow As Double, A As String, ligne As Integer, ligne_TAB As Integer, Colone_TAB As Integer, Colone_index As Integer    '% = as integer
    Dim nf As String, val As String, fichier_base As String, nom As String, val2 As String
    fichier_base = ActiveWorkbook.Name
    nom = ActiveWorkbook.Name
     
     
        intFileNum = FreeFile
        intCellRow = 1
        nf = Fichier
     
     
        Open nf For Binary Access Read As intFileNum
        Worksheets("Décodage").Range("A:IV").Clear
          Worksheets("Décodage").Columns("A:IV").NumberFormat = "@"
      ligne = 1
      Colone_TAB = 1
      Colone_index = 1
      ligne_TAB = 1
        Do While Not EOF(intFileNum)
            intCellRow = intCellRow + 1
            'ligne = ligne + 1
            Get intFileNum, , bytTemp
            val = Trim(Hex(bytTemp))
            'val2 = Trim(Hex(bytTemp))
     
            If intCellRow > 201 Then
                 If intCellRow Mod 2 <> 0 Then
                    If Colone_TAB = 1 Then
                    Worksheets("Décodage").Cells(ligne, Colone_TAB) = intCellRow - 1
                    End If
                    Worksheets("Décodage").Cells(ligne, Colone_TAB + 1) = Format(A & (Left("00", 2 - Len(val)) & val), "@")
                    ligne = ligne + 1
                    Colone_index = Colone_index + 1
                    If Colone_index > 219 Then
                       Colone_index = 1
                       Colone_TAB = Colone_TAB + 1
                       ligne = 1
                    End If
                End If
            End If
     
     
     
            If intCellRow Mod 2 = 0 Then
            A = Left("00", 2 - Len(val)) & val
     
            End If
    If Colone_TAB = 255 Then
    Exit Do
    End If
        Loop
        Close intFileNum
    'Mise en forme des Données
     
     
    Worksheets("Bilan").Activate
    Worksheets("Utilisation").Activate
     
    End Sub

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Sans savoir ce que tu souhaites réaliser, il est à mon avis assez malaisé de t'aider. Tu tagues XL365, donc tu pourrais peut-être te diriger vers Power Query (onglet données, Récupérer et transformer des données, Obtenir des données).
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. {VBA Excel} Simplifier une macro avec une copie
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/06/2007, 15h38
  2. [VBA] utiliser une macro contenue dans un autre classeur
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 01/02/2006, 19h46
  3. [VBA][Excel]Exécution macro avec fichiers source
    Par ouezon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/12/2005, 01h00
  4. [VBA-E] [help]macro pour dupliquer une feuille (en valeur)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 07/11/2005, 20h24
  5. Réponses: 4
    Dernier message: 19/05/2005, 12h51

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