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

                Elle se trouve où la difficulté ?

                1