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 du format date de mes cellules excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Modification du format date de mes cellules excel
    Bonjour,

    Totalement novice en VBA (j'ai démarrer il y a deux jours). Je dois réaliser un programme me permettant de selectionner toutes les cellules excel avec le format ("dd/mm/yyyy) et de les modifier en format ("dd/mmm/yyyy). J'aimerais répéter cette opération pour toutes les feuilles excel de mon document.

    J'ai réussi à écrire une petite macro mais seulement elle ne marche que pour la cellule active. J'ai besoin de votre aide afin de pouvoir modifier cette macro pour l'étendre à toute la feuille excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Date_Format()
    Dim Sh As Variant
    For Each Sh In ActiveWorkbook.Worksheets
            ActiveCell.Select
            If IsDate(ActiveCell.Value) Then
                ActiveCell.Value = Format(ActiveCell.Value, "dd/mmm/yyyy" )
            End If
     
    Next        
    End Sub
    De plus en cherchant sur le net, j'ai trouvé une macro permettant de modifier toutes les formules en format couleur 36.

    Pensez-vous que je peux adapter cette macro à mon cas. Si oui, je suis un peu perdu pour les modifs à executer.

    Merci beaucoup pour votre aide

    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
    Sub monplanWB()  
    '***** SELECTION DES CELLULES DONT LE FORMAT EST 36 (jaune pale)******  
     
    Dim objRange As Range, PlageYellow As Range, objCell As Range, PlageResult As Range  
     
    'réduction de la plage  
    For Each objRange In ThisWorkbook.Worksheets(1).Columns  
        If IsNull(objRange.Interior.ColorIndex) Then  
            If PlageYellow Is Nothing Then  
                Set PlageYellow = objRange  
            Else  
                Set PlageYellow = Application.Union(objRange, PlageYellow)  
            End If  
        End If  
    Next  
    'travail en ligne  
    For Each objRange In ThisWorkbook.Worksheets(1).Rows  
        If IsNull(objRange.Interior.ColorIndex) Then  
            For Each objCell In Application.Intersect(objRange, PlageYellow).Cells  
                If objCell.Interior.ColorIndex = 36 Then  
                    If PlageResult Is Nothing Then  
                        Set PlageResult = objCell  
                    Else  
                        Set PlageResult = Application.Union(objCell, PlageResult)  
                    End If  
                End If  
            Next  
        End If  
    Next  
    PlageResult = PlageResult.Value  
     
    End Sub

  2. #2
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    ben tu ve modifier toutes les cellules de ton classeur ? ( ou seulement une feuille , ou une zone..?)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    En fait j'aimerais modifier toutes les cellules de mon classeur qui sont sous le format date.(C'est à dire identifier celle qui sont sous le format "dd/mm/yyyy" et les modifier en "dd/mmm/yyyy") et ne rien faire sur les autres qui n'ont pas ce format

    Penses-tu que c compliqué à faire comme programme? et puis je mù'inspirer de la macro trouver sur un forum concernat les couleurs.

    je suis vraiment perdu

    merci pour ton aide

  4. #4
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    tiens un peu de code à étudier...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub ChangeFormatDate()
     Dim sh As Worksheet  'Feuille excel
     Dim c As Range 'Cellule
     For Each sh In ThisWorkbook.Sheets 'Parcours toutes les feuilles du classeur courant
        For Each c In sh.UsedRange 'Parcours toutes les cellules utilisées de la feuille
          Debug.Print c.NumberFormat
          If c.NumberFormatLocal = "jj/mm/aaaa" Then c.NumberFormatLocal = "jj/mmm/aaaa"
        Next c
     Next sh
    End Sub

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    bbil,
    un grand merci pour ton aide et pour ton code car il marche parfaitement

    Bon week end à toi

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

Discussions similaires

  1. Controle du format date dans une cellule
    Par majothi dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2013, 18h04
  2. modification de la date d'une page excel
    Par getin3d dans le forum Excel
    Réponses: 7
    Dernier message: 20/12/2011, 20h19
  3. Modification du format date
    Par AAWOOPY56 dans le forum AS/400
    Réponses: 7
    Dernier message: 29/09/2011, 10h22
  4. Récupérer une Date d'une cellule excel
    Par Pynouz dans le forum C#
    Réponses: 3
    Dernier message: 09/08/2011, 14h04
  5. affichage de date dans une cellule Excel
    Par darkspoilt dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/08/2007, 10h41

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