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 :

Ajouter un code dans macro mais quel code et où? [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre très actif
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 660
    Par défaut Ajouter un code dans macro mais quel code et où?
    Bonjour le forum,
    Dans le code ci-dessous je voudrais, lorsque je fait Nouvelle Année lui faire dire de remplacer partout dans la feuille où il y a 2015 par 2016 ou peut-être y a t-il mieux à faire je ne sais pas .
    Quelqu'un saurait-il comment faire?
    Merci d'avance pour vos éventuels retours
    Cordialement
    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
    Option Explicit
     
    Sub NouvelleAnnee()
    Dim NomFeuille As String
    Dim An As Integer
    Dim Couleur
     
      Couleur = Array(3, 4, 5, 6, 7, 8, 9, 10, 17, 40, 49, 42)
      With ActiveSheet
        An = Val(Split(.Name, " ")(1))
        If An = 0 Then
          MsgBox "Nom de la feuille non conforme"
          Exit Sub
        End If
        .Unprotect
        NomFeuille = "Charges " & An + 1 'Espace après Charges affiche Charges 2014.Supprimer Espace affiche Charges2014
     
        .Copy after:=Sheets(Sheets.Count)
        '.Shapes("AnneePlus").Delete     'Mettre en commentaires pour ne pas effacer le bouton (nouvelle année)de la Feuille Précédente
        .Protect
      End With
      With ActiveSheet
        .Name = NomFeuille
        .Tab.ColorIndex = Couleur((An - 2000) Mod 12)
        .Range("E3:E4,A8:C11,E8:E16,A26:C29,E26:E34,A44:C47,E44:E52,A62:C65,E62:E70,F5,F23,F41,F59,G8:I16,G26:I34,G44:I52,G62:I70").ClearContents
        '.Range("E3:E4,A8:C11,E8:E16,A26:C29,E26:E34,A44:C47,E44:E52,A62:C65,E62:E70,F5,F23,F41,F59,G8:I16,G26:I34,G44:I52,G62:I70").Interior.ColorIndex = 3
        .Range("A1").Select
      End With
    End Sub

  2. #2
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private sub machin()
    Dim c As Range
    With activesheet
        Set c = .Find("2015", LookIn:=xlValues)
        If Not c Is Nothing Then
            firstaddress = c.Address
            Do
                c.Value = "2016"
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstaddress
        End If
    End With
    End Sub
    sinon, l'enregistreur de macro nous donne avec Ctrl+h et remplacer tout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Cells.Replace What:="2015", Replacement:="2016", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    ce qui pourrait donné cela

    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
    Sub NouvelleAnnee()
    Dim NomFeuille As String
    Dim An As Integer
    Dim Couleur
     
      Couleur = Array(3, 4, 5, 6, 7, 8, 9, 10, 17, 40, 49, 42)
      With ActiveSheet
        An = Val(Split(.Name, " ")(1))
        If An = 0 Then
          MsgBox "Nom de la feuille non conforme"
          Exit Sub
        End If
        .Unprotect
        NomFeuille = "Charges " & An + 1 'Espace après Charges affiche Charges 2014.Supprimer Espace affiche Charges2014
     
        .Copy after:=Sheets(Sheets.Count)
        '.Shapes("AnneePlus").Delete     'Mettre en commentaires pour ne pas effacer le bouton (nouvelle année)de la Feuille Précédente
        .Protect
      End With
      With ActiveSheet
        .Name = NomFeuille
        .Tab.ColorIndex = Couleur((An - 2000) Mod 12)
        .Range("E3:E4,A8:C11,E8:E16,A26:C29,E26:E34,A44:C47,E44:E52,A62:C65,E62:E70,F5,F23,F41,F59,G8:I16,G26:I34,G44:I52,G62:I70").ClearContents
        '.Range("E3:E4,A8:C11,E8:E16,A26:C29,E26:E34,A44:C47,E44:E52,A62:C65,E62:E70,F5,F23,F41,F59,G8:I16,G26:I34,G44:I52,G62:I70").Interior.ColorIndex = 3
        .Cells.Replace What:="2015", Replacement:="2016", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        range("a1").select
      End With
    End Sub

  3. #3
    Membre très actif
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 660
    Par défaut
    Bonjour keygen08,
    Voilà c'est fait et ça fonctionne.
    Merci à toi.
    Bonne fin de WE
    Bien cordialement

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/09/2009, 08h33
  2. Quel code dans mon actionPerformed?
    Par pbauquel dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 02/08/2008, 11h27
  3. instruction CONVERT, mais quel code ?
    Par ironfalcon dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/07/2008, 17h40
  4. Quel code dans la couche services ?
    Par speedster dans le forum Spring
    Réponses: 9
    Dernier message: 24/04/2007, 10h01

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