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. 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. 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
      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. ^^
    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

      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
        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.

          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
            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
              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
                '....
            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