Afficher Lisview avec la meme mise en forme que le tableau

Bosco13

XLDnaute Occasionnel
Bonsoir le Forum

Je me tourne vers vous pour obtenir de l'aide sur le contrôle Listview que je ne connais absolument pas.

Je souhaiterai pouvoir afficher un tableau d'une feuille dans une listview d'un USF
qui conserverai la même mise en forme , les intitulés, ainsi que les couleurs de cellule etc ....

J'ai essayé plein de choses mais je n'y arrive pas. Peux être que ce n'est pas possible
j'ai beaucoup cherché sur les forums.

Peut être que l'un d'entre vous saura comment faire, ce dont je ne doute pas un instant...!!

Je vous remercie tous d'avance de votre aide.

Amicalement

Bosco13
 

Pièces jointes

  • BoscoListview.xlsm
    28.6 KB · Affichages: 54

Roland_M

XLDnaute Barbatruc
Re : Afficher Lisview avec la meme mise en forme que le tableau

bonjour à tous,

pour ne pas se mélanger les pinceaux ...
le classeur mis par FHOEST(que je salut) au post#15
avec modif uniquement sur les codes que j'avais fournis ...
(sans toucher aux codes FHOEST ! tout est bien séparé FHOEST et Roland_M)
 

Pièces jointes

  • test_txtbox_dynamique_2.xlsm
    38.6 KB · Affichages: 51
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Afficher Lisview avec la meme mise en forme que le tableau

Bonjour à tous


[considérations dominicales sous ciel pluvieux]
Comme le fichier a un controle d'acces
Contrôle illusoire facilement contournable ... mais ceci est autre histoire

Pour le chef d'agence qui rempli sa feuille d'avancement ( 40 feuilles dans le fichier) avec le contrôle d’accès il ouvre que la sienne c'est OK
quand il veut voir son tableau d'heures a partir d'un bouton avec macro il fait apparaitre le tableau recap( celui du modèle joint) et doit chercher son agence. pas évident ( et faire 40 tableau recap c'est trop)
On pourrait imaginer seulement deux feuilles

  1. une feuille Tableau
  2. une feuille BD (base de données)
Et si on est dans une situation où le fichier est sur un réseau, le contrôle (là aussi contournable) se fera sur le login de session Windows.
Selon ce login , la feuille Tableau est remplie uniquement avec les données le concernant puisées dans la feuille BD.
Et pas besoin d'userform, tout se fait sur la feuille.
(feuille sur laquelle on peut faire tout les traitements esthétiques que l'on souhaite et qui pourrait se rapprocher d'un visuel type Userform)

Jolis codes messieurs Fhoest et Roland_M ;)
Si... je n'ai pas encore ouvert ta PJ.

EDITION: Ah bah si je l'ai virtuellement ouverte ;)
'Roland_M (sur base départ Si...)
J'aime bien ce RX! (qui donc si j'ai bien compris nous dispense de "Dimmer" : RX As Single) ?

[/considérations dominicales sous ciel pluvieux]
 
Dernière édition:

Bosco13

XLDnaute Occasionnel
Re : Afficher Lisview avec la meme mise en forme que le tableau

Bonjour fhoest, Roland_M, Le Forum

whaou ! Je vous remercie beaucoup tous les deux.

les deux solutions sont possibles, je vais donc essayé d'adapter cela sur le fichier Final et je proposerai aux utilisateurs les deux solutions;
lors de mes essais , reviendrai peut être vous voir en cas de problème.

Un grand merci a vous deux pour le temps que vous m'accordez

Un Bon dimanche

Amicalement
Bosco
 

Staple1600

XLDnaute Barbatruc
Re : Afficher Lisview avec la meme mise en forme que le tableau

Re

Bosco13
Et moi ce que je t'accorde, ce n'est point du temps ?
A quoi bon poster dans ton fil, si tu ne daignes pas nous lire tous ...:rolleyes:

Je me suis brossé les dents ce matin, tu me peux me dire également Bonjour, non ?

(sans oublier Si...)
Car Si... et moi ne partageons pas la même brosse à dents, à la lecture de ses codes VBA d'une hygiène irréprochable, je suis sûr que son hygiène buccale est du même acabit et qu'il mérite donc également que tu le salues d’un affable bonjour, Bosco13. :rolleyes:
 
Dernière édition:

Bosco13

XLDnaute Occasionnel
Re : Afficher Lisview avec la meme mise en forme que le tableau

Bonjour Satple1600, Si..., Re fhoest, Roland_M le forum

Lol désolé ... J'etais en train d'essayer les deux fichiers tout en répondant et ton message c'est croisé avec le mien.

je viens de le lire.

concernant le controle d'accès , il n'y a pas de soucis j'en suis tout a fait conscient.
il y a 40 chef d'agence avec chacun le BD et ce contrôle est simplement pour éviter de se tromper de BD
le contrôle n'ouvre que leur BD personnel.

sinon il est certain que ta proposition serait interresante mais ce n'est pas moi qui est créer ce " Gros" Fichier ( personne qui est partie) et au vu de mon niveau en VBA je ne me vois pas tout refaire.


Encore désolé du croisement de nos message.

Merci encore a toi

Amicalement
bosco
 

Roland_M

XLDnaute Barbatruc
Re : Afficher Lisview avec la meme mise en forme que le tableau

re

@Staple,

'Roland_M (sur base départ Si...)
J'aime bien ce RX! (qui donc si j'ai bien compris nous dispense de "Dimmer" : RX As Single) ?

excuses moi mais j'ai pas bien compris !?
quand je dis base au départ Si... il s'agit du classeur de Monsieur Si... au post#6 pour la couleur
quand à RX! il s'agissait d'adapter la taille de police, mais bon ... j'ai laissé en rem
 

Staple1600

XLDnaute Barbatruc
Re : Afficher Lisview avec la meme mise en forme que le tableau

Re

Bosco13
Merci pour le bonjour
Maintenant je suis sûr de l'efficacité de mon dentifrice.
Mais comme on n'est jamais trop sur, j'ai pris un chewing-gum


Roland_M
J'ai bien compris ;)
Je disais juste que j'ai pas ouverte la PJ de Si
mais si la tienne est sur la base de Si.., je l'ai donc virtuellement ouverte
Si... je n'ai pas encore ouvert ta PJ.
EDITION: Ah bah si je l'ai virtuellement ouverte ;)
'Roland_M (sur base départ Si...)

Et tu ne l'as pas laissée en REM partout, non ? ;)
Code:
Private Sub UserForm_Initialize()
'met plein écran
RX! = Me.Lv.Width
 
Dernière édition:

Bosco13

XLDnaute Occasionnel
Re : Afficher Lisview avec la meme mise en forme que le tableau

re

toujours par un chemin détourné (n'est-ce pas Staple ;) ?) : pour éviter 54 colonnes, une liste déroulante des mois et ...
çà sert à quoi cette recherche ? Peut-être à corriger, en cliquant sur une ligne, avec vue sur la partie impliquée ?

Voici un autre exemple.

bonjour Si.. et re a tous , re le forum,

désolé je n'avais pas vu cette proposition c'est également une bonne proposition qui est envisageable;
Je vais également la proposer

Un grand merci a toi de ta proposition et de ton aide
Bon Dimanche a tous
Amicalement
Bosco13
 

Si...

XLDnaute Barbatruc
Re : Afficher Lisview avec la meme mise en forme que le tableau

Salut

Merci à tous, un rayon de soleil dans la grisaille du jour ça fait toujours plaisir :D.

Staple, je m’ai brossé les dents, rincé la bouche mais n'ai rien vu venir.
En fait c’était un problème de vue : avait pas nettoyé mes lentilles (que je préfère aux end if) :).

Maintenant, Si… tu ne tiens pas à goûter à mes productions, je n’en ferai pas un flan et sur ce ...
bon appétit messieurs-dames *.

*à la mode créole (j’essaie d’apprendre tes leçons, c’est comme cela qu’il faut chercher l’ami ? ;))
 

fhoest

XLDnaute Accro
Re : Afficher Lisview avec la meme mise en forme que le tableau

Bonjour à tous
staple1600 à dit:
Jolis codes messieurs Fhoest et Roland_M
Merci, ça fait plaisir de recevoir un compliment de ta part surtout avec les connaissances que tu as en VBA
Super code aussi de Si et de Roland, tes solutions proposées sont également très approprié a ce que cherche Shérif "Bosco" lol...
Un peu d'humour sur un poste ça ne fait pas de tord...
Série TV culte : Shériff fais-moi peur. Quiz Series tele, Photos, Films…

Petite modification de code avec mise en place de commentaires:
Code:
Public Sub draw_txt(ByVal sh As String, ByVal PosDpt As Double, ByVal NBR As Long, ByVal T As Double, ByVal Wi As Double, ByVal Hght As Integer, ByVal lg As Long)
Dim X As String
Dim NB As Long
Dim MonAlpha
Dim CMT As Long
Dim Ecart As Double
Dim Pos_Dpt As Double
MonAlpha = Array(" ", "a", "b", "c", "d", "e", "f", "g", _
    "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", _
    "r", "s", "t", "u", "v", "w", "x", "y", "z", "aa", "ab", "ac", "ad", "ae", "af", "ag", _
    "ah", "ai", "aj", "ak", "al", "am", "an", "ao", "ap", "aq", _
    "ar", "as", "at", "au", "av", "aw", "ax", "ay", "az", "ba", "bb")
For lg_count = 1 To lg
Ecart = Hght
Pos_Dpt = PosDpt
W = Pos_Dpt
For CMT = 1 To NBR
If W = Pos_Dpt Then svnt = svnt + T
Hght = Hght + Ecart
W = W + Wi
X = "A": NB = CMT
Set TXT = Me.Controls.Add("Forms.TextBox.1", "TextBox1", True)
With TXT
.Top = svnt
If W = Pos_Dpt Then W = 2 * Wi: .Left = W - Wi Else: .Left = W - Wi
If CMT = 1 Then .Left = Pos_Dpt
.Width = Wi
.Height = Hght
.Name = MonAlpha(CMT) & lg_count
.Text = Sheets(sh).Range(MonAlpha(CMT) & lg_count).Value
If IsNumeric(Sheets(sh).Range(MonAlpha(CMT) & lg_count).Value) Then
If Sheets(sh).Range(MonAlpha(CMT) & lg_count).Value = 40 Then .BackColor = vbGreen
If Sheets(sh).Range(MonAlpha(CMT) & lg_count).Value > 40 Then .BackColor = vbRed
Else:
.BackColor = vbWhite
End If
.SpecialEffect = fmSpecialEffectFlat
.Locked = True
End With
Next CMT
Hght = Ecart
Next lg_count
End Sub
Code:
Private Sub CommandButton1_Click()
Rem explication de code:
'critère à mettre dans l'ordre dans la parenthèse de la routine draw_txt
'ByVal sh As String : Nom de la feuille avec laquelle on va remplir les Textbox
'ByVal PosDpt As Double : Position de départ en .left de la première colonne de textbox par rapport au usf
'ByVal NBR As Long: Nombre de textbox avec un maximum fixer en fonction du tableau MonAlpha
'ByVal T As Double : Position du départ .top en rapport avec le usf
'ByVal Wi As Double : largeur des textbox
'ByVal Hght As Integer: hauteur des textbox
'ByVal lg As Long : nombre de ligne.
Call draw_txt("TABLEAU", 5, 54, 10, 70, 10, 20)
CommandButton1.Visible = False
End Sub
Code:
Private Sub UserForm_Initialize()
 With Me
 .BackColor = vbWhite ' afin d'assurer la transparence des multiples textbox
 .ScrollBars = fmScrollBarsBoth
 .ScrollHeight = .InsideHeight * 5 ' adapter le facteur de multiplication en fonction du nombre de textbox si pas visible avec le usf
 .ScrollWidth = .InsideWidth * 5 'idem
End With
End Sub


A bientôt.
 
Dernière édition:

Bosco13

XLDnaute Occasionnel
Re : Afficher Lisview avec la meme mise en forme que le tableau

Re a tout Le Fil, Le Forum,

fhoest, J’étais justement en train de travailler sur mon fichier en y intégrant ta proposition .
et je me posais la question de savoir comment raccourcir la dimension des Textbox...!

Vu mon niveau VBA je vais essayé de comprendre tous cela et apporter les modifications

Merci a toi ainsi qu'a tout le fil

" En effet Sheriff fait moi peur une série culte des années 80 que j'ai également suivi ! et tu as raison un peu d'humour fait beaucoup de bien....!

Sinon, ensuite je passerai aux autres solutions qui me plaisent bien également.

Un grand merci a vous Tous !

Bosco

EDIT : Bosco sheriff certe c'est le boss..!!!!! mais alors pas la bosse du VBA Lol !!!!
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Afficher Lisview avec la meme mise en forme que le tableau

re

pour modifier la largeur ici:
Private Sub CommandButton1_Click()
Call draw_txt("TABLEAU", 5, 54, 10, 5, 70, 10, 20) '< remplacer 70 par 50 et faire essai !?
CommandButton1.Visible = False
End Sub


si je puis me permettre, concernant ceci:
Code:
MonAlpha = Array(" ", "a", "b", "c", "d", "e", "f", "g", _
     "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", _
     "r", "s", "t", "u", "v", "w", "x", "y", "z", "aa", "ab", "ac", "ad", "ae", "af", "ag", _
     "ah", "ai", "aj", "ak", "al", "am", "an", "ao", "ap", "aq", _
     "ar", "as", "at", "au", "av", "aw", "ax", "ay", "az", "ba", "bb")
il suffit de remplacer par: Dim MonAlpha$
et dans le code mettre ceci: MonAlpha$ = Cells(lg_count, CMT).AddressLocal(0, 0)
et remplacer partout (MonAlpha(CMT) & lg_count) par (MonAlpha$) comme ceci:
Code:
'...
If CMT = 1 Then .Left = Pos_Dpt
MonAlpha$ = Cells(lg_count, CMT).AddressLocal(0, 0)
.Width = Wi
.Height = Hght
.Name = MonAlpha$
.Text = Sheets(Sh).Range(MonAlpha$).Value
If lg_count > 4 And IsNumeric(Sheets(Sh).Range(MonAlpha$).Value) Then 'pour ne pas colorer les nos !
   If Sheets(Sh).Range(MonAlpha$).Value = 40 Then .BackColor = vbGreen
   If Sheets(Sh).Range(MonAlpha$).Value > 40 Then .BackColor = vbRed
Else: .BackColor = vbWhite
End If
'...
 
Dernière édition:

Bosco13

XLDnaute Occasionnel
Re : Afficher Lisview avec la meme mise en forme que le tableau

re tous le fil , Le forum

Whaou vous dégainez tous plus vite que l’éclair, pour mon petit cerveau VBA !! lol !
cela fait vraiment plaisir vous êtes tous vraiment super.

Roland_M , merci a toi

Je prend chaque chose a la suite et je vous tiens au courant de l’évolution



Merci encore
Bosco !!
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 453
Membres
103 546
dernier inscrit
mohamed tano