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 :

Modification de code [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut Modification de code
    bonjour
    je souhaiterais modifier le code suivant:
    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
    Sub Mise_a_zero()
    Dim Rep As Long
        Rep = MsgBox("Continuer ?", vbInformation + vbYesNo + vbDefaultButton2, "Coucou")
        If Rep = 7 Then Exit Sub
        '....
    '
    ' Couleur mise a zero
    '
    Application.ScreenUpdating = False
    With ActiveSheet             'Sheets("AR-Base").Select
        Range("A6:S11,A13:F16,U3:U67").Select
        With Selection.Interior
            .Pattern = xlNone
        End With
        Range("T3:Y67").Select
        Selection.ClearContents
        Range("U2:Y67").Select
        ActiveWindow.SmallScroll Down:=-17
        ActiveWindow.LargeScroll Down:=-1
        ActiveWindow.SmallScroll Down:=-1
        ActiveWindow.LargeScroll Down:=-1
        ActiveWorkbook.Worksheets("AR-Base").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("AR-Base").Sort.SortFields.Add Key:=Range("U3:U67") _
            , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("AR-Base").Sort
            .SetRange Range("V3:Y67")
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
    '        .Apply
        End With
        Range("T3:T67").Select
        Selection.ClearContents
        Range("C2:D3").Select
        Selection.ClearContents
    Sheets("D-Base").Select
        Range("W3:AB67").Select
        Selection.ClearContents
             With Selection.Interior
            .Pattern = xlNone
        End With
        Range("A3:R3,A6:R6,A9:R9,A12:R12,A15:M15").Select
        Selection.ClearContents
            With Selection.Interior
            .Pattern = xlNone
        End With
        Range("F2").Select
    With ActiveSheet    'Sheets("AR-Base").Select
        Range("F2").Select
    Application.ScreenUpdating = True
    End With
    End With
    End Sub
    par feuille active
    cris

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    ton code est très confus et on ne sait pas quelle est la feuille active, alors pour le début, il faudra adapter pour la suite, en évitant tous les "Select" :
    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
    With ActiveSheet 
      .Range("A6:S11,A13:F16,U3:U67").Selection.Interior
      .Pattern = xlNone
      .Range("T3:Y67").ClearContents
      .Sort.SortFields.Clear
      .Sort.SortFields.Add Key:=Range("U3:U67") _
            , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      .Sort
        .SetRange Range("V3:Y67")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
    '    .Apply
      End With
    End With
    ensuite, ci-dessous, de quelle feuille parles-tu ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("T3:T67").ClearContents
    Range("C2:D3").ClearContents
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut
    au debut de l'appli, j'ai plusieurs feuilles dont une que j'ai nomme AR-Base
    et au fur et a mesure de l'avancement je fait une copie de cette feuille que je renomme, donc la macro que j'ai ne fonctionne plus sur ma nouvelle feuille, d'ou ma demande.

    en ce qui concerne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("T3:T67").ClearContents
    Range("C2:D3").ClearContents
    c'est sur la feuille AR-Base.

    merci
    cris

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Citation Envoyé par chris09300 Voir le message
    au debut de l'appli, j'ai plusieurs feuilles dont une que j'ai nomme AR-Base
    et au fur et a mesure de l'avancement je fait une copie de cette feuille que je renomme, donc la macro que j'ai ne fonctionne plus sur ma nouvelle feuille, d'ou ma demande.
    Tu peux peut-être passer par une variable objet pour désigner la feuille cible où le code va s'appliquer, il suffit alors de faire pointer la variable vers la nouvelle copie avant d'appeler la procédure générale...

    cf les tutoriels DVP si besoin

    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

    Didier

  5. #5
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut
    bonjour didier
    peux tu me dire ou je peux trouver

    cf les tutoriels DVP

    car je ne connais pas les variables

    cris

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Citation Envoyé par chris09300 Voir le message
    bonjour didier
    peux tu me dire ou je peux trouver
    avec celui-là, 44 pages et t"es devenu un bon
    page 9 pour un focus / question

    Programmer efficacement avec Excel en VBA http://bidou.developpez.com/tutoriels/ExcelVBA/

    Toujours dans les bonnes choses :

    http://silkyroad.developpez.com/VBA/LesVariables/#LII-K


    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

    Didier

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour le forum, chris09300,

    Expliques-toi bien tu veux remplacer "Sheets("AR-Base")" par "ActiveSheet", c'est bien ça ? si c'est ça il faut que cette feuille soit la feuille active, d'où le code que je te propose, comme tu me confirmes que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("T3:T67").ClearContents
    Range("C2:D3").ClearContents
    vont partie de la feuille active donc "Sheets("AR-Base")", tu peux les intégrer dans le "With", en conséquence :
    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
    With ActiveSheet
      .Range("A6:S11,A13:F16,U3:U67").Interior.Pattern = xlNone
      .Range("T3:Y67").ClearContents
      .Sort.SortFields.Clear
      .Sort.SortFields.Add Key:=Range("U3:U67") _
            , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      .Sort
      .SetRange Range("V3:Y67")
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
    '    .Apply
      .Range("T3:T67").ClearContents
      .Range("C2:D3").ClearContents
    End With
    With Sheets("D-Base")
      .Range("W3:AB67").ClearContents
      .Range("W3:AB67").Interior.Pattern = xlNone
      .Range("A3:R3,A6:R6,A9:R9,A12:R12,A15:M15").ClearContents
      .Range("A3:R3,A6:R6,A9:R9,A12:R12,A15:M15").Interior.Pattern = xlNone
    End With
    et tu restes sur la feuille "Sheets("AR-Base")"

    est-ce vraiment ça ?

    N'hésites pas,

    PS : je n'ai pas vu ta réponse Didier

    Bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. modification dynamique code html
    Par xtendance dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/10/2006, 11h09
  2. Réponses: 4
    Dernier message: 29/09/2006, 16h38
  3. Réponses: 1
    Dernier message: 03/05/2006, 10h17
  4. [Couleur] Modification du code couleur de l'interface
    Par Therich dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 31/01/2006, 20h00
  5. Modification de code
    Par HADES62 dans le forum Autres langages
    Réponses: 5
    Dernier message: 25/01/2006, 11h42

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