Affichage dans un Label

Bonjour a toutes et tous, Forum Bonjour

Excel 2007 VBA windows 7 32 bits

J'utilise actuellement dans mon USF 24 Labels et dans le but de soulager mon USF.
je voudrais effectuer une modification afin de diminuer le nombre de Labels.

12 Labels pour afficher les chiffres de 1 à 12

12 Labels pour afficher avec Majuscule en début du nom de chaque 12 mois de l'année

Je souhaiterai utiliser un unique Label pour afficher de 1 à 12 en ligne

Ex: 1-----2-----3-----4-----5 etc etc
avec des espaces que je pourrai modifier entre les chiffres afin de pouvoir ajuster.

Je souhaiterai utiliser un autre Label pour les 12 mois de l'année avec majuscules

Ex: Janv-----Févr-----Mars-----Avr etc etc
avec des espaces que je pourrai modifier entre les noms afin de pouvoir ajuster.

PS: svp avec Majuscules pour la première lettre du mois

Voila plus que deux labels a la place de 24 labels

Je vous remercie pour aide et pour votre temps

Bon Dimanche a tous

Cdlt Raymond

9 réponses

  1. Bonjour,

    Elle se trouve où la difficulté ?

    1
    1. Ici, on pourrait compliquer ce qui est simple ...

      On peut imaginer que les mois ou prénoms ou autre soient sur une plage sur une feuille Excel. Il suffit de boucler sur cette plage pour récupérer les données et les concaténer dans le Label ...

      Ca peut être intéressant, si les données sont suceptibles de changer au moment du chargement de l'UF. Mais ça implique aussi du temps d'exécution et d'utilisation mémoire.

      Si les données affichées dans le Label sont fixes, il vaut mieux les taper en "dur" dans le code.
      1
      1. Salut Polux31

        Merci pour la réponse

        Je pense qu'il doit y avoir une formule ou une autre facon de faire en VBA

        Bon Dimanche et bon app

        Cdlt Ray
        0
        1. Salut Ray,

          Si tu trouves une autre façon de faire, proposes la dans les trucs et astuces de CCM ...

          Il y a bien une autre façon de faire, mais qui n'est pas en VBA ... c'est de payer une "petite main" pour taper toutes les parties du code qui sont chiantes à faire. ^^
          0
      2. Comment ça une formule ?

        La façon de mettre un texte dans un contrôle Label est d'utiliser la propriété Caption:

        Label1.Caption = "Mon texte" 


        Ou bien

        Dim MonTexte As String
        
        MonTexte = "Blabla..."
        
        Label1.Caption = MonTexte

        0
        1. Re Polux31

          Merci bien

          De cette manière je sais bien

          Mais en imaginant que je voudrais mettre en ligne dans un label des prénoms par exemple

          Ex: les tirets represente des espaces

          Label1.caption="Raymond-----Pierre-----Anne----Julie-----Marie" '** etc etc

          je pensais qu'il y avait une facon de faire

          Cdlt Ray
          0
          1. Je ne dois pas comprendre la question ... ou il manque des éléments que, malheureusement, ma boule de cristal (qui se fait vieille) n'arrivent pas à déceler.

            0
            1. Re

              Avant j'avais un label par prénom disons 12 labels

              donc dans le but de faire plus simple, mon idée était de faire la meme chose

              mais dans un seul label c'est tout

              Merci

              les choses simples sont parfois compliquées, j'en ai fait les frais hihihiihih

              Merci

              je vois ca apres dejeuner bon app

              Ray
              0
              1. Salut polux31

                Pas mieux pour l'instant, pas facile d'aligner de cette facon

                1 2 3
                Janv Fevr Mars etc etc etc


                Label45.Caption = " 1"
                Label46.Caption = " Janv"
                For i = 2 To 12
                Label45.Caption = Label45.Caption & " " & i
                Label46.Caption = Label46.Caption & " " & Application.Proper(Format(DateSerial(2013, i, 1), "mmm"))
                Next i

                Cdlt Ray
                0
                1. Tu peux utiliser vbTab ou bien déclarer une variable pour les espaces

                  Dim mSpace as string
                  
                  mSpace = "     " 'mettre le nombre d'espaces nécessaire
                  '.....
                  Label45.Caption = Label45.Caption &  mSpace & i
                  '....
                  0
              2. Salut

                Bon voila j'ai réussi tant bien que mal a aligner tout ce beau monde
                MAIS ça marche

                si tu vois un moyen pour un code plus discret, ma foi je suis preneur.


                Dim Numéro As String, Mois As String

                Numéro = " 1" & Space(11) & "2" & Space(11) & "3" & Space(11) & "4" & Space(11) & "5" & Space(11) & "6" & Space(11) & "7" & Space(11) & "8" & Space(11) & "9" _
                & Space(11) & "10" & Space(9) & "11" & Space(9) & "12"

                Mois = " Janv" & Space(6) & "Févr" & Space(7) & "Mars" & Space(6) & "Avr" & Space(8) & "Mai" & Space(7) & "Juin" & Space(7) & "Juil" & Space(8) & "Aoùt" & Space(6) _
                & "Sept" & Space(7) & "Oct" & Space(8) & "Nov" & Space(7) & "Déc"

                Label455.Caption = Numéro
                Label467.Caption = Mois

                Bonne soirée a toi

                Cdlt Raymond
                0