Microsoft 365 plusieurs textbox pour remplis 4 Listview selon criteres

pelerin65

XLDnaute Occasionnel
Bonjour le forum,
j ai commencé un code mais ça Bugue


dans un userform,
J'ai 5 frames qui se décompose comme-ci
Dans une frame "Prise de notes"
- 2 combobox
- 5 textboxs
Dans une frame notes
- Notes (Listview 1)
Dans une frame "pertes"
- Pertes (Listview 2)
Dans un frame "limitation temporaire de vitesse"
- LTV (Listview 3)
Dans une frame "Environnement"
- Environnement Listview 4

Dans la première, c'est la catégorie "Mesures" , "ACH" , "Prog", "EIC", "LOC" , "Environnement" , "LTV"
Dans la deuxième combobox, je aimerai pourvoir afficher selon le critère de la première combobox ses motifs (dans l'onglet données)
et les 5 Textboxs sont "Ligne" , "Voie, " , "Du PK" , "AU PK" , "MOTIFS"
avec ses deux combobox et 5 textboxs, lors que je choisi soit "Mesure" ou "ACH"
lors de la validation
soit exporté dans la listview "Notes " sur un ligne chaque fois ce soit sera fait
ou
avec ses deux combobox et 5 textboxs, "Prog" OU" EIC" OU "LOC"
lors de la validation
soit exporté dans la listview "Pertes" sur une ligne à chaque fois que ce soit sera fait
ou
avec ses deux combobox et 5 textboxs, "Prog" OU" EIC" OU "LOC"
lors de la validation
soit exporté dans la listview "LTV " sur une ligne à chaque fois que ce soit sera fait
ou
avec ses deux combobox et 5 textboxs, "Prog" OU" EIC" OU "LOC"
lors de la validation
soit exporté dans la listview "Environnement " sur une ligne à chaque fois que ce soit sera fait
avec 4 listview
je joins le fichier afin de m'apporter une aide
bien cordialement
 

Pièces jointes

  • NOTES.xlsb
    43.9 KB · Affichages: 9

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Lorsque tu utilises une Listview, tu peux colorer le texte d'une ligne via la propriété Forecolor
après un test sur la valeur ex if str= "ACH" Then
listItem(x).ForeColor= vbRed
Puis tu boucles sur les colonnes de la ligne x , for col = 1. To xx
.listItem(x)..ListSubItem(col).Forecolor= vbRed
Pas évident mais tu devrais trouver sur le forum
Je poste. depuis mon téléphone lol
je regarde dès que possible(si pas de réponse d'ici là)
Jean marie
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
arff pas sûr d'avoir compris mais un exemple : on Colore la Ligne de la ListView en Rouge si "ACH" dans Combobox1 si non en Noir ! (perfectible) ...
VB:
Private Sub CommandButtonAdd_Click()
Dim LstVitem As Object, LstVsItem As Object 'variables pour la création de la Ligne et des colonnes de la ListView
Dim StrColor 'Variable Couleur
    With ListView1
      StrColor = IIf(ComboBox2.Value = "ACH", &HFF&, &H0&)'On détermine la couleur du texte en Fonction de la valeur du Combobox1'
   Set LstVitem = .ListItems.Add(, , ComboBoxLTV.Value)'On crée une Nouvelle Ligne on met la valeur dans la première colonne de cette Ligne
      With LstVitem 'Avec cette première colonne de la Ligne
              .ForeColor = StrColor 'On la colore
          Set LstVsItem = .ListSubItems.Add(, , TextBoxLIGNE.Value)'On crée une Nouvelle Colonne
        With LstVsItem      ' Avec cette nouvelle Colonne
              .ForeColor = StrColor'On la colore
        End With
         Set LstVsItem = .ListSubItems.Add(, , TextBoxVOIE.Value)'On crée une Nouvelle Colonne
         With LstVsItem
              .ForeColor = StrColor 'On la colore
        End With
         Set LstVsItem = .ListSubItems.Add(, , TextBoxDU_PK.Value)'On crée une Nouvelle Colonne
         With LstVsItem
              .ForeColor = StrColor 'On la colore
        End With
         Set LstVsItem = .ListSubItems.Add(, , TextBoxAU_PK.Value) 'On crée une Nouvelle Colonne
         With LstVsItem
              .ForeColor = StrColor'On la colore
        End With
         Set LstVsItem = .ListSubItems.Add(, , TextboxCAUSES.Value) 'On crée une Nouvelle Colonne
         With LstVsItem
              .ForeColor = StrColor 'On la colore
        End With
      End With
    End With
    ComboBoxLTV.Value = ""
    TextBoxLIGNE = ""
    TextBoxVOIE = ""
    TextBoxDU_PK = ""
    TextBoxAU_PK = ""
    TextBoxAU_PK = ""
    TextboxCAUSES = ""
End Sub
Jean marie
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour Pelerin65

Ce que j'ai modifié pour réduire le Code !
VB:
Private Sub LoadListView1()
Dim i as Byte
For i = 1 To 4
With UF_Notes
  With .Controls("ListView" & i)
        .ListItems.Clear
        With .columnHeaders
            .Clear
            .Add , , "LTV", 70, lvwColumnLeft
            .Add , , "LIGNE", 65, lvwColumnCenter
            .Add , , "VOIE", 65, lvwColumnCenter
            .Add , , "DU PK", 60, lvwColumnCenter
            .Add , , "AU PK", 60, lvwColumnCenter
            .Add , , "CAUSES", 96, lwvcolumncenter
        End With
        .View = 3
        .FullRowSelect = True
        .Gridlines = True
        .labeledit = 1
  End With
 End With
 Next
    ComboBoxLTV.Value = ""
    TextBoxLIGNE = ""
    TextBoxVOIE = ""
    TextBoxDU_PK = ""
    TextBoxAU_PK = ""
    TextboxCAUSES = ""
End Sub
Bonne Journée
Jean marie
 

pelerin65

XLDnaute Occasionnel
Bonjour Pelerin65

Ce que j'ai modifié pour réduire le Code !
VB:
Private Sub LoadListView1()
Dim i as Byte
For i = 1 To 4
With UF_Notes
  With .Controls("ListView" & i)
        .ListItems.Clear
        With .columnHeaders
            .Clear
            .Add , , "LTV", 70, lvwColumnLeft
            .Add , , "LIGNE", 65, lvwColumnCenter
            .Add , , "VOIE", 65, lvwColumnCenter
            .Add , , "DU PK", 60, lvwColumnCenter
            .Add , , "AU PK", 60, lvwColumnCenter
            .Add , , "CAUSES", 96, lwvcolumncenter
        End With
        .View = 3
        .FullRowSelect = True
        .Gridlines = True
        .labeledit = 1
  End With
 End With
 Next
    ComboBoxLTV.Value = ""
    TextBoxLIGNE = ""
    TextBoxVOIE = ""
    TextBoxDU_PK = ""
    TextBoxAU_PK = ""
    TextboxCAUSES = ""
End Sub
Bonne Journée
Jean marie
Re

Merci ChTi150
Pour ton implication dans ton aide dans le code
j ai installé ton code
J'ai un peu modifié le code pour identifier toutes les frames,
"MESURES/ACH";
"EIC";
"PROG";
"LOC";
"LIMITATION TEMPORAIRE DE VITESSE";
"ENVIRONNEMENT";

Les frames
"EIC"; en rouge
"PROG"; en rouge
"LOC"; en rouge

"ENVIRONNEMENT"; en vert
"LIMITATION TEMPORAIRE DE VITESSE" en violet
Depuis ton nouveau code c'est plus le cas ?????
 

Pièces jointes

  • Notes - Copie1.xlsm
    118.7 KB · Affichages: 1

ChTi160

XLDnaute Barbatruc
Re
Je constate que tu as mis la couleur du texte de tes ListView à la Couleur désirée, est-ce ce que tu veux ?
Moi j'ai modifié la procédure pour que la Couleur soit modifiée dans la procédure ( j'ai mis la couleur de texte partout à noir ) si ce n'est pas ce que tu veux ,je te ferai le Code pour que la couleur ne soit plus prise en compte par la Macro
Jean marie
 

Pièces jointes

  • Notes - Chti160.xlsm
    103.3 KB · Affichages: 1
Dernière édition:

pelerin65

XLDnaute Occasionnel
Re
Je constate que tu as mis la couleur du texte de tes ListView à la Couleur désirée, est-ce ce que tu veux ?
Moi j'ai modifié la procédure pour que la Couleur soit modifiée dans la procédure ( j'ai mis la couleur de texte partout à noir ) si ce n'est pas ce que tu veux ,je te ferai le Code pour que la couleur ne soit plus prise en compte par la Macro
Jean marie
Toujours au top ChTi160
j'aimerai quand on sélectionne ACH dans la première listbox, la ligne soit en bleu pour différencié avec le noir de MESURE
cordialement
 

Discussions similaires

Statistiques des forums

Discussions
315 089
Messages
2 116 098
Membres
112 661
dernier inscrit
ceucri