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 :

Format de mise en forme d'écriture, de calendrier et de date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Par défaut Format de mise en forme d'écriture, de calendrier et de date
    Hello,

    Je souhaiterais avoir un exemple de mise en forme de format pour divers cas :

    J' ai créé (avec l'aide de Fring) un userform qui tourne impec, maintenat je souhaiterais l'améliorer, ou plus exactement mettre en forme les données qui apparaitrons dans mon tableau.

    Plusieurs choses :

    1°) Je voudrais que lorsque je sélectionne oui cela me l'écrive en vert et en gras.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      For i = 1 To 11
            If Me.Controls("A" & i & "_O") Then
                Cells(DerL, 10 + i) = "OUI"
            Else
                Cells(DerL, 10 + i) = "NON"
            End If
    2°) Je souhaiterais que mes dates du contrôle DTPicker s'écrivent sous le format jours(en chiffre) mois(en tout lettre) année(4 chiffres)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(DerL, 2) = DTPicker1.Value
        Cells(DerL, 3) = DTPicker2.Value
    3°) En fonction de la date du DTPicker je souhaiterais que ma ligne soit coloré d'une certaine couleur (en fait 3 ou 4 couleurs) si la date du DTPicker2 est > à15 jours de la date du jour en bleu ciel, si la date du DTPicker2 est comprise entre +15 et -15 jours par rapport à la date du jour en jaune si la date du DTPicker est dépassé de plus de 15 jours en orange

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,


    1. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      For i = 1 To 11
          If Me.Controls("A" & i & "_O") Then
              With Cells(DerL, 10 + i)
                  .Value = "OUI"
                  .Font.Bold = True
                  .Font.ColorIndex = 10
              End With
          Else
              With Cells(DerL, 10 + i)
                  .Value = "NON"
                  .Font.Bold = False
                  .Font.ColorIndex = 0
              End With
          End If

    2. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Cells(DerL, 2) = Format(DTPicker1.Value, "dd mmmm yyyy")

    3. 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
      Dim Dat As Date, Dat1 As Date, Dat2 As Date
       
      Dat = DTPicker2.Value
      Dat1 = Date - 15
      Dat2 = Date + 15
       
      With Cells(DerL, 3)
          .Value = Format(Dat, "dd mmmm yyyy")
          Select Case Dat
              Case Is < Dat1
                  .Font.ColorIndex = 46
              Case Is > Dat2
                  .Font.ColorIndex = 6
              Case Else
                  .Font.ColorIndex = 33
          End Select
      End With

    yapluka
    .

  3. #3
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Par défaut
    Merci Fring tu es vraiment un et je m'

    Je vais suivre tes indications et te tenir au courant une nouvelle fois tu me sors d'un mauvais pas merci

  4. #4
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Par défaut
    Je souhaiterais une petite info en plus concernant les couleurs, ou puis je trouver les correspondances couleur, code

    Merci beaucoup Par avance

    Tu m'as beaucoup aidé cependant pour le 3° (couleur en fonction de la date) je souhaiterais que ce soit la ligne complète qui se colore mais pas le texte le fond des cellules.

    C'est possible?


    Sinon pour le 1° et le 2° ça marche impec

    Un grand grand grand merci

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par Vincent23
    Je souhaiterais une petite info en plus concernant les couleurs, ou puis je trouver les correspondances couleur, code
    Insère le petit bout de code ci-dessous dans un nouveau classeur et lance la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test_couleur()
    Dim i As Integer, x As Integer
     
    x = 2
     
    For i = 1 To 56
        Cells(x, 1).Interior.ColorIndex = i
        Cells(x, 2) = i
        x = x + 2
    Next
     
    End Sub
    Citation Envoyé par Vincent23
    je souhaiterais que ce soit la ligne complète qui se colore mais pas le texte le fond des cellules
    mmm... tu ne te creuses pas beaucoup les méninges
    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
    Dim Dat As Date, Dat1 As Date, Dat2 As Date
     
    Dat = DTPicker2.Value
    Dat1 = Date - 15
    Dat2 = Date + 15
     
    Cells(DerL, 3).Value = Format(Dat, "dd mmmm yyyy")
     
        Select Case Dat
            Case Is < Dat1
                Rows(DerL).Interior.ColorIndex = 46
            Case Is > Dat2
                Rows(DerL).Interior.ColorIndex = 6
            Case Else
                Rows(DerL).Interior.ColorIndex = 33
        End Select
    End With

  6. #6
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 89
    Par défaut
    Merci énormément j'ai combiné tes 2 infos couleur du texte et couleur du fond et ça marche impec merci bcp

    PS : le fait que je ne me creuse pas bcp les méninges selon toi c'est que je ne connais pas du tout le VBA juste en allant sur les forums et en prenant les cours c'est difficile de tout comprendre. Au fait que signifie Rows?

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

Discussions similaires

  1. Format de mise en forme des milliers
    Par nancy169 dans le forum kettle/PDI
    Réponses: 4
    Dernier message: 20/09/2012, 12h15
  2. mise en forme des couleurs des calendriers
    Par Vincent23 dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 22/08/2008, 16h33
  3. [CR9] Mise en forme de champ avec des formats
    Par Sytchev3 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 01/03/2007, 16h35
  4. [CR9] Mise en forme d'un texte avec un format
    Par Sytchev3 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 15/02/2007, 13h45
  5. [VBA-E] Mise en forme conditionnelle et recherche de format
    Par VinzVVK dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/12/2006, 19h20

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