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 :

Caption de label égale à la valeur de cellule


Sujet :

Macros et VBA Excel

  1. #21
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bon
    C'est normalement moi, qui devrait recevoir un cadeau le 14 mai (ce que nous sommes aujourd'hui), mais bon ...
    Petite démo :
    1) sur un userform : 3 labels Label1, Label2 et Label3 et un bouton de commande Commandbutton1
    et ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
      With Worksheets("Feuil1")
        For i = 1 To 3
         Me.Controls("Label" & i).Caption = .Range("B" & .Range("C" & i).Value)
        Next
      End With
    End Sub
    2) sur La feuille Feuil1 : 3 lignes de données -->>
    ---- A-------- B----------C
    1 Pierre------rouquin-----1
    2 Jacques----brun------- 2
    3 André------blond------3

    L'ajout de la colonne C et de ses valeurs est fait une fois pour toutes. Cet ajout correspond à ce que je t'ai exposé plus haut.

    Lance maintenant ton userform et clique sur le bouton de commande -->> regarde
    Amuse-toi maintenant à trier tes lignes sur ta feuille (autant de fois que tu veux et que ce soit par ordre ascendant ou descendant) sur la base de la colonne A
    --> retourne et clique le bouton de commande du userform et regarde --->> la correspondance est toujours là malgré le bouleversement de tes lignes.
    Voilà tout . Ce n'est là rien d'autre que ce que je t'ai expliqué plus haut et ce n'est que de la logique (qu'elle soit ou non appliquée à l'informatique).

  2. #22
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    bonjour,
    Dans une feuille nommée Villes j'ai la colonne B qui contient les noms de villes, la colonne A contient un numéro chronologique de 1 à xxxx
    Nom : Capture1.PNG
Affichages : 179
Taille : 3,7 Ko
    Sur un userform avec une image carte j'ai autant de labels que de villes
    Nom : Capture2.PNG
Affichages : 245
Taille : 51,7 Ko

    label nom = nom ville
    Nom : Capture4.PNG
Affichages : 198
Taille : 6,2 Ko
    bouton "mise à jour"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub CmdAction_Click()
        For n = 1 To 3
            Me.Controls(Range("b" & n).Value).Caption = Range("b" & n).Value & " - " & Range("a" & n).Value
        Next n
    End Sub
    résultat
    Nom : Capture3.PNG
Affichages : 374
Taille : 52,0 Ko

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  3. #23
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Par défaut
    Voilà ça marche.


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Private Sub Combobox1_change()
    Dim DerLgn As Byte
    Dim L As Byte, Idx As Byte
        With Worksheets("Carte")
    DerLgn = .Cells(.Rows.Count, 1).End(xlUp).Row
      For L = 2 To DerLgn
        Idx = .Cells(L, 1)
            Controls("Label" & Idx).Caption = .Cells(L, 2)
            Controls("Label" & Idx).AutoSize = False
            Controls("Label" & Idx).Width = 60
            Controls("Label" & Idx).Height = 10
            Controls("Label" & Idx).Font.Bold = True
            Controls("Label" & Idx).TextAlign = fmTextAlignLeft
            'Controls("Label" & Idx).Size = 11
     
            If .Cells(Idx, 3) = "" Then '
                    Controls("Label" & Idx).Visible = False
                    Else
                If .Cells(Idx, 6) = "" Then '
                    Controls("Label" & Idx).BackColor = RGB(255, 255, 255) 'blanc
                    Else
                            If .Cells(Idx, 6) >= 0.5 Then
                        Controls("Label" & Idx).BackColor = RGB(0, 255, 64) 'vert
                        Controls("LblDmd").BackColor = RGB(0, 255, 64)
                        Controls("LblDmd").ForeColor = RGB(0, 0, 0)
                    Else
                    If .Cells(Idx, 4) < 1 Then
                    Controls("Label" & Idx).BackColor = RGB(234, 70, 40) 'rouge
                    Controls("Lblref").BackColor = RGB(234, 70, 40)
                    Controls("Lblref").ForeColor = RGB(0, 0, 0)
                        Else
                        If .Cells(Idx, 4) = 1 Then
                        Controls("Label" & Idx).BackColor = RGB(68, 202, 203) 'bleu
                        Controls("Lblacc").BackColor = RGB(68, 202, 203)
                        Controls("Lblacc").ForeColor = RGB(0, 0, 0)
     
                            End If
                        End If
                    End If
                End If
            End If
      Next L
    End With
     
     
    Me.LblChoixcerem.BackColor = RGB(255, 255, 255)
    Me.ComboBox1.BackColor = RGB(255, 255, 255)
    Sheets("carte").Range("H1") = ComboBox1.Value
     
     
    End Sub

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Par défaut
    Voici le code réalisé
    ça marche
    reste à améliorer.


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Private Sub Combobox1_change()
    Dim DerLgn As Byte
    Dim L As Byte, Idx As Byte
        With Worksheets("Carte")
    DerLgn = .Cells(.Rows.Count, 1).End(xlUp).Row
      For L = 2 To DerLgn
        Idx = .Cells(L, 1)
            Controls("Label" & Idx).Caption = .Cells(L, 2)
            Controls("Label" & Idx).AutoSize = False
            Controls("Label" & Idx).Width = 60
            Controls("Label" & Idx).Height = 10
            Controls("Label" & Idx).Font.Bold = True
            Controls("Label" & Idx).TextAlign = fmTextAlignLeft
            'Controls("Label" & Idx).Size = 11
     
            If .Cells(Idx, 3) = "" Then '
                    Controls("Label" & Idx).Visible = False
                    Else
                If .Cells(Idx, 6) = "" Then '
                    Controls("Label" & Idx).BackColor = RGB(255, 255, 255) 'blanc
                    Else
                            If .Cells(Idx, 6) >= 0.5 Then
                        Controls("Label" & Idx).BackColor = RGB(0, 255, 64) 'vert
                        Controls("LblDmd").BackColor = RGB(0, 255, 64)
                        Controls("LblDmd").ForeColor = RGB(0, 0, 0)
                    Else
                    If .Cells(Idx, 4) < 1 Then
                    Controls("Label" & Idx).BackColor = RGB(234, 70, 40) 'rouge
                    Controls("Lblref").BackColor = RGB(234, 70, 40)
                    Controls("Lblref").ForeColor = RGB(0, 0, 0)
                        Else
                        If .Cells(Idx, 4) = 1 Then
                        Controls("Label" & Idx).BackColor = RGB(68, 202, 203) 'bleu
                        Controls("Lblacc").BackColor = RGB(68, 202, 203)
                        Controls("Lblacc").ForeColor = RGB(0, 0, 0)
     
                            End If
                        End If
                    End If
                End If
            End If
      Next L
    End With
     
     
    Me.LblChoixcerem.BackColor = RGB(255, 255, 255)
    Me.ComboBox1.BackColor = RGB(255, 255, 255)
    Sheets("carte").Range("H1") = ComboBox1.Value
     
     
    End Sub

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Par défaut
    Résultat département

    Nom : carte.jpg
Affichages : 213
Taille : 172,6 Ko

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/12/2016, 20h38
  2. afficher une msgbox si une cellule est égale à certaines valeurs
    Par titou8333 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2010, 13h56
  3. Modifier le Caption d'un Label avec la valeur d'une cellule
    Par kitcarflo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/04/2008, 12h42
  4. [VBA]Affectation d'une valeur à une cellule par une fonction
    Par lallougri dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/02/2006, 15h24
  5. [XSL] N'afficher qu'une fois une valeur + fusionner cellule
    Par DidRocks dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 05/09/2005, 10h22

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