Liste colonne A et B en couleur

Bonjour a toutes et tous, Forum bonjour


Config Excel 2007 VBA

Je cherche a faire un petit code qui me permettrai d'afficher une liste en couleur.

Dans ma colonne A, en A1 une liste triée, je souhaiterai svp mettre en couleur (le fond) de la cellule de la façon suivante:
une couleur sur deux (Bleu et Vert) et écrit en noir.

la liste commence par des chiffres puis dans l'ordre A puis B etc etc
les chiffres en Bleu puis les (A) en Vert puis les (C) Bleu puis les (D) Vert etc etc

12 Rounds
40 Jours pour vivre
A l'aube du troisième jour
Atomic
Bernard et bianca
Bataille de boules de neige

Dans ma colonne B, en B1 une autre liste triée, je souhaiterai svp (cette fois) mettre en couleur MAIS une ligne sur deux Bleu - Vert etc etc

Je vous souhaite une bonne journée et merci pour votre aide.

Cordialement Ray

20 réponses

  1. Bonjour,

    code a mettre dans VBA de la feuille et a adapter:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim derlig1, derlig2, x, Color(1), MemColor1, MemColor2, MemPCG

    'couleurs a adapter
    Color(0) = vbCyan
    Color(1) = vbGreen

    derlig1 = Range("A" & Rows.Count).End(xlUp).Row
    derlig2 = Range("B" & Rows.Count).End(xlUp).Row
    For x = 1 To derlig1
    'couleurs liste colonne A
    'Premier Caractere a Gauche
    PCG = Left(Range("A" & x), 1)
    'teste chiffre
    If PCG >= "0" And PCG <= 9 Then
    Range("A" & x).Interior.Color = Color(0)
    MemColor1 = 0
    Else
    'test memoire PCG = PCG et ensuite test memoire couleur
    'pour changement couleur
    If PCG <> MemPCG Then
    MemPCG = PCG
    If MemColor1 = 0 Then
    MemColor1 = 1
    Else
    MemColor1 = 0
    End If
    Range("A" & x).Interior.Color = Color(MemColor1)
    Else
    Range("A" & x).Interior.Color = Color(MemColor1)
    End If
    End If

    'Couleur liste colonne B
    If x <= derlig2 Then
    Range("B" & x).Interior.Color = Color(x Mod 2)
    End If

    Next x
    End Sub
    1
    1. Bonsoir,

      Voir avec la propriété Enabled du contrôle. Le mettre à False par défaut puis une fois la sélection effectuée mettre Enabled à True.

      ;0)
      1
      1. Bonjour Polux31 et bonne annee
        0
      2. Bonjour f94009,

        Merci et idem ;0)
        0
      3. salut polux31

        je te souhaite un excellent réveillon a toi et tes proches

        a l'année prochaine sans nul doute

        Bien cordialement Raymond
        0
    2. Bonsoir f894009

      Merci pour ta réponse et pour le code c'est gentil
      désolé pour le retard journée bien chargée

      j'ai essayer le code et j'ai la colonne A qui se mets tout en noir
      je n'arrive pas a m'en dépatouiller, ca reste toujours noir

      j'ai fait quelques modifs pensant trouver mais hélas non.

      merci bonne soirée

      Cordialement Ray
      0
      1. Salut f894009

        J'ai refait des essais et j'ai toujours la colonne (A) en noir ainsi que la cellule (B1)

        et je n'arrive pas a modifier pour faire fonctionner

        je retourne essayer voir ce qui ne va pas

        Merci et bonne après midi

        Cordialement Raym
        0
        1. Bonjour f894009,

          C'est avec un peu de mal que j'ai enfin réussi a faire fonctionner le code que tu fait
          je t'en remercie maintenant ça fonctionne bien

          Par contre avec le code ci-dessous qui me permet de choisir un répertoire, ca fonctionne mais si je me trompe en cliquant sur (Annuler) ou autre fausse manipulation, cela engendre un message d'erreur.

          Pourrai tu svp me faire un test qui ferai en sorte de reposer la question si je me trompe, que je sois obliger d'effectuer un choix de D-D.

          Encore merci pour le petit code je te souhaite un agréable Dimanche

          Bien cordialement Ray


          Function ChoisirDossier()
          Dim objShell, objFolder, SecuriteSlash As Byte

          With UserForm1
          Set objShell = CreateObject("Shell.Application")
          Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un répertoire", &H1&)
          Volume = Left(objFolder.ParentFolder, Len(objFolder.ParentFolder) - 4) & " "

          If objFolder Is Nothing Then GoTo EndProc
          If Left(objFolder.self.Path, 2) = ":" Then GoTo EndProc

          ChoisirDossier = objFolder.self.Path
          SecuriteSlash = InStr(objFolder.Title, ":")
          Chemin = objFolder.self.Path

          If SecuriteSlash > 0 Then ChoisirDossier = Left(ChoisirDossier, Len(ChoisirDossier) - 1)
          EndProc:
          Set objFolder = Nothing
          Set objShell = Nothing
          .Label2.Caption = "Disque dur: " & Volume 'Disque dur
          .Label3.Caption = "Répertoire: " & Chemin 'Chemin répertoire
          End With
          End Function
          0
          1. bonjour,

            Function ChoisirDossier()
            Dim objShell, objFolder, SecuriteSlash As Byte

            With UserForm1
            Set objShell = CreateObject("Shell.Application")
            Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un répertoire", &H1&)

            If objFolder Is Nothing Then GoTo EndProc
            If Left(objFolder.self.Path, 2) = ":" Then GoTo EndProc

            Volume = Left(objFolder.ParentFolder, Len(objFolder.ParentFolder) - 4) & " "

            ChoisirDossier = objFolder.self.Path
            SecuriteSlash = InStr(objFolder.Title, ":")
            Chemin = objFolder.self.Path

            If SecuriteSlash > 0 Then ChoisirDossier = Left(ChoisirDossier, Len(ChoisirDossier) - 1)

            .Label2.Caption = "Disque dur: " & Volume 'Disque dur
            .Label3.Caption = "Répertoire: " & Chemin 'Chemin répertoire

            EndProc:
            Set objFolder = Nothing
            Set objShell = Nothing
            End With
            End Function
            0
            1. Salut f894009

              Merci pour ta réponse c'est gentil

              Quand je selectionne le répertoire et en supposant que j'appuie sur "annuler" car je me suis tromper cela engendre une erreur dans le code UserForm_Click()

              l'erreur d'execution "5" ou appel de procédure incorrect

              la variable Chemin est declarer Public dans un module

              Merci de ton aide bonne fin d'après midi

              Cdlt Raymond


              Sub UserForm_Click()
              Dim Fso, F, Fc
              ListBox1.Clear
              Columns("A:A").ClearContents
              Set Fso = CreateObject("Scripting.FileSystemObject")

              Set F = Fso.Getfolder(Chemin) '*** Erreur mets ligne se mets en jaune

              For Each Fc In F.Files
              ListBox1.AddItem Fc.Name
              Next
              Set Fso = Nothing

              '*** Transfert automatiquement la liste vers la Feuil1
              With ListBox1
              Sheets("Feuil1").Range(Cells(1, 1), Cells(.ListCount, 1)) = .List
              End With
              Label1.Caption = ListBox1.ListCount & " Films" 'Nombres de films
              End Sub
              0
              1. Re,

                Comment est appelee la fonction ChoisirDossier ?????
                0
                1. Bonsoir f894009

                  j'appelle la fonction de cette manière ci-dessous

                  ToggleButton je n'avais jamais utiliser alors j'ai essayer pour le fun
                  je vais mettre des commandButton par la suite

                  merci a toi bonne soirée

                  Cdlt Ray


                  Private Sub ToggleButton7_Click()
                  If ToggleButton7 = True Then
                  ToggleButton7.BackColor = vbGreen

                  Chemin = ChoisirDossier 'Appel de la fonction

                  ToggleButton7 = False
                  ToggleButton7.BackColor = vbGreen
                  End If

                  End Sub
                  0
                  1. Bonjour f894009

                    Bien recu le fichier merci bien

                    effectivement cela fonctionne avec ton fichier

                    je me permets de t'envoyer le mien, si tu peux svp regarder quand tu aura du temps

                    ce qui cloche, fait du fichier comme bon te semble, j'ai la sauvegarde.

                    Merci a toi pour ton aide, bon début de semaine.

                    voici le lien: http://www.cjoint.com/?CLEihrUuXRz

                    Cdlt Ray
                    0
                    1. Bonjour,

                      Je recupere le fichier et vous tiens au courant.

                      A+
                      0
                      1. Salut

                        Merci pour les modifications c'est sympa a toi

                        bon j'ai toujours l'erreur

                        Si je clic par ex: sur "annuler" lors du choix du D-D alors j'ai l'erreur, donc
                        tant qu'une liste n'ai pas afficher la moindre manipulation provoque l'erreur.

                        Mais dès qu'une liste est afficher alors plus de problème.

                        je pense qu'il faudrait tester: que tant que la liste est vide ou qu'une liste n'ai pas afficher aucune action sur les ToggleButton ne doit etre possible

                        Merci bien pour ton aide, bonne après midi

                        Ray
                        0
                        1. Re,

                          Il est sur que si vous cliquez sur un des boutons sans avoir choisi un dossier et une liste, ca va pas le faire!!!!!!

                          Il faut que vous ne puissiez pas cliquez sur les boutons si pas de liste affichee
                          0
                          1. Re,
                            Merci pour la réponse et effectivement

                            Voila tout le problème est la

                            Je suis dessus, j'essai de trouver comment faire

                            (1) Bloquer les boutons pour éviter toutes actions et ainsi éviter les erreurs.

                            (2) il me faut choisir le disk dur voir un sous répertoire et tester de manière a afficher ma liste sans erreur,
                            quelle soit la raison par (annuler) ou X raison puis une fois la liste afficher.

                            (3) Donner l'autorisation aux boutons seulement a ce moment.

                            mais je ne n'arrive pas, ca fait déja un moment que j'essai sans bon résultat.

                            Voila Mr f894009 bon bah j'y retourne, trop chiant ces messages d'erreurs.

                            A plus tard et bonne soirée

                            Cdlt Ray
                            0
                            1. Salut polux31

                              Merci pour ta réponse, pour ce que tu propose je pense que je vais y arriver

                              le probleme c'est au moment de choisir

                              (1) le disk dur
                              (2) le ou les sous répertoires

                              le soucis c'est qu'il ne faut pas faire d'erreur ou bien annuler ou abandonner en route du choix ou bien X autres raisons, sinon ca plante et m'envoie les messages désagréables.

                              ceci c'est pas grave, ca plante pas Excel, déja bien, mais juste de ne pas avoir les messages.

                              Merci pour les infos

                              Bonne journée a toi

                              Cdlt Ray
                              0
                              1. Salut f894009,

                                Merci pour le fichier, alors ton fichier fonctionne bien

                                j'ai repris et adapter sur mon programme qui a évoluer

                                maintenant tout fonctionne également.

                                Merci beaucoup pour ton aide et surtout pour ta patience, je sais bien que ce n'ai pas toujours facile de se comprendre, enfin le résultat est la et c'est l'essentiel.

                                Je te souhaite un excellent réveillon de jour de l'an et encore avec tous mes remerciements 2013 ihihih

                                Bien cordialement Raymond
                                merci bonne soirée a toi et tes proches
                                0
                                1. Bonjour et meilleurs voeux a vous et votre famille
                                  0
                                  1. Bonjour f894009

                                    Merci beaucoup c'est très sympa, qu'il en soit de mème, meilleurs voeux a vous et tous vos

                                    proches et naturellement une très bonne santé pour tous, sans quoi rien n'est possible .

                                    Bonne année 2014

                                    Raymond
                                    0