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-E]dévier une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 356
    Par défaut [VBA-E]dévier une macro
    bonjour,
    dans une feuille excel j'ai créé un bouton qui permet d'épurer tout ce que j'ai écri manuellement.

    d'autre part , j'ai créé une formule ds visual (ci dessous) qui me permet de transformer en majuscule ce que j'écrit ds une cellule dès que j'appui sur entrée.

    Ma formule marche très bien, mais le soucis est que lorsque je décide d'épurer mes données, le système rame comme pas possible, comme si j'avais créé une macro très longue.
    quelqu'un aurait une idée d'ou pourrai provenir le problème ?
    Moi j'ai pensé à dévier ma macro 'majuscule' lorsque je cliquer sur 'épurer', mais je sait pas comment faire.


    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Plage As Range
    Dim Cellule As Range
    'target c'est la plage modifié dans mon classeur on calcul son
    'intersection avec la plage à tester J2:J800
    Set Plage = Intersect(Target, Range("J2:J800"))
    If Plage Is Nothing Then Exit Sub 'Intersection vide on quitte
    For Each Cellule In Plage ' sinon on parcours toutes les cellules de la plage d'intersection
       Cellule = UCase(Cellule)   ' et on passe en majuscule
    Next
    End Su

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    Ma formule marche très bien, mais le soucis est que lorsque je décide d'épurer mes données, le système rame comme pas possible, comme si j'avais créé une macro très longue.
    quelqu'un aurait une idée d'ou pourrai provenir le problème ?
    Moi j'ai pensé à dévier ma macro 'majuscule' lorsque je cliquer sur 'épurer', mais je sait pas comment faire.
    si c'est la macro épuré qui rame, pourquoi ne pas nous montrer celle là plutôt ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 356
    Par défaut
    oui en effet, désolé :

    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
     
    Private Sub CommandButton2_Click()
    'Remettre à blanc les cellules
    Worksheets("recapitulatif").Range("a1", "f700").Interior.Color = RGB(255, 255, 255)
    'Epurer la sélection des localisations
    Range("f2", "f800").ClearContents
    'Epurer la somme des emplacements sélectionnés et à éditer
    Range("L2", "L9").ClearContents
    'Epurer la liste des articles pour copie des doublons
    Range("Z1", "Z500").ClearContents
    'Epurer la liste des doublons
    Range("i24", "k50").ClearContents
     
    'Epurer les articles sélectionnés
    Worksheets("Liste Comp Inventaire").Range("a1", "O8000").ClearContents
    Worksheets("Liste Comp Inventaire").Range("a1", "O8000").Interior.Color = RGB(255, 255, 255)
     
    'Ne garder que les 3 premiers trigrammes
    C6 = 10
    L6 = 5
    For i = 1 To 5
    Worksheets("recapitulatif").Cells(L6, C6) = "-"
    L6 = L6 + 1
    Next
    If Worksheets("recapitulatif").Range("j3") = "" Then
    Worksheets("recapitulatif").Range("j3") = "-"
    End If
    If Worksheets("recapitulatif").Range("j4") = "" Then
    Worksheets("recapitulatif").Range("j4") = "-"
    End If
     
    'Colorier de jaune les localisations entammées
    C2 = 5
    l2 = 2
     
    For h = 1 To 700
    If Worksheets("recapitulatif").Cells(l2, C2 - 1) <> "" Then
    Worksheets("recapitulatif").Cells(l2, C2).Interior.Color = RGB(255, 255, 153)
     
    End If
    l2 = l2 + 1
    Next
     
    'Colorier de gris les localisations comptés entièrement
    C1 = 5
    l1 = 2
     
    For y = 1 To 700
    If Worksheets("recapitulatif").Cells(l1, C1) <= 0 Then
    Worksheets("recapitulatif").Cells(l1, C1).Interior.Color = RGB(192, 192, 192)
    Worksheets("recapitulatif").Cells(l1, C1 + 1).Interior.Color = RGB(192, 192, 192)
    Worksheets("recapitulatif").Cells(l1, C1 - 1).Interior.Color = RGB(192, 192, 192)
    Worksheets("recapitulatif").Cells(l1, C1 - 2).Interior.Color = RGB(192, 192, 192)
    Worksheets("recapitulatif").Cells(l1, C1 - 3).Interior.Color = RGB(192, 192, 192)
    Worksheets("recapitulatif").Cells(l1, C1 - 4).Interior.Color = RGB(192, 192, 192)
    End If
    l1 = l1 + 1
    Next
     
    End Sub

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    bonjour,
    est le code originale?
    car dans les boucles
    for i to nb
    instruction
    je ne vois pas next i
    idem pour les autres boucles for j to nb
    lors de la compulation du code si c l original tu aurai du avoir un pb!!!!

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    essai de mettre au début de ton code 'd'épurage" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.EnableEvents = False
    afin de "stopper" les codes événementiels...


    puis en fin .. tu repasse à true...

Discussions similaires

  1. [VBA-E] Lier une macro a une feuille excel
    Par Ol.Geez dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/06/2006, 10h53
  2. [VBA-E] Récupérer une macro excel 97
    Par sammy39 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/05/2006, 11h04
  3. [VBA-E] Associer une macro à une cellule
    Par cwain dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/04/2006, 13h50
  4. [VBA-E]Lancer une macro sur changement de valeur cellule ?
    Par jeremiegrenoble dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/03/2006, 14h22
  5. [VBA-E]Etablir une macro d'une fonction rechercheV
    Par dani317 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2005, 11h06

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