Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/10/2011, 00h29   #1
Membre actif
 
Homme
Ressources humaines
Inscription : janvier 2011
Messages : 172
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ressources humaines
Secteur : Bâtiment

Informations forums :
Inscription : janvier 2011
Messages : 172
Points : 166
Points : 166
Par défaut séparateur de colonne dans listbox

Bonjour le forum,
c’est depuis quelque temps que je traine sur le séparateur de colonne dans ma listbox, malgré que je suis juste un débutant avec le vba, j’ai arrivé à alimenter cette liste d’une trentaine de colonnes mais rajouter ce séparateur (chr(124)) donne vraiment un très bon aperçu.
voici le code que j’ai utilisé :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub UserForm_Initialize()
Dim VarDerLigne As Integer
Dim VarPlage As String
 
 
   VarDerLigne = Sheets("pointage").Range("a65536").End(xlUp).Row
   VarPlage = Sheets("pointage").Range("a6:ao" & VarDerLigne).Address
 
   Range("a5:e5").Value = Range("a6:e6").Value
   Range("ak5:ao5").Value = Range("ak6:ao6").Value
 
   Range("a6:e6") = ""
   Range("ak6:ao6") = ""
 
   ListBox1.RowSource = "pointage!" & VarPlage
   ListBox1.ColumnCount = 41
   ListBox1.ColumnWidths = "50 ;145 ;50 ;20 ;50 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;35 ;35 ;35 ;50 ;50 "
   ListBox1.ColumnHeads = True
   ListBox1.IntegralHeight = True
 
End Sub
je vous remercie d'avance.
Gestionnaire_rh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 08h00   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Pas de question ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 23h02   #3
Membre actif
 
Homme
Ressources humaines
Inscription : janvier 2011
Messages : 172
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ressources humaines
Secteur : Bâtiment

Informations forums :
Inscription : janvier 2011
Messages : 172
Points : 166
Points : 166
Bonjour,

j'ai besoin de votre aide concernant le séparateur pour mes colonnes dans ma listbox, je ne sais pas comment le rajouter.

Cordialement

Bonjour,

j'ai essayé mais sans succès, et j'espère que j'étais claire sur ma demande, cette astuces de séparateur des colonnes dans une listbox(chr=124) que n'arrive pas a rajouter a mon code, encore merci pour votre aide

Cordialement.
Gestionnaire_rh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 06h14   #4
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 756
Points : 1 756
Bonjour,
Pour ajouter des éléments à la listbox
Code :
1
2
3
4
5
6
 
   ListBox1.Clear
   For colonne = 6 To 15
    ListBox1.AddItem ActiveSheet.Cells(5, colonne)
   Next colonne
   ListBox1.ColumnWidths = "50"
Il y a donc une seule colonne.
RowSource peut être employée si les données sont en colonnes et non pas en lignes comme c'est le cas dans l'exemple.
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 23h34   #5
Membre actif
 
Homme
Ressources humaines
Inscription : janvier 2011
Messages : 172
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ressources humaines
Secteur : Bâtiment

Informations forums :
Inscription : janvier 2011
Messages : 172
Points : 166
Points : 166
Bonjour helas,

je pense que vous m'avez pas bien compris, ce que je veux c'est pouvoir rajouter un séparateur pour mes 41 colonnes, alors selon des exemples que j'ai trouver soit une astuce comme ce code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub UserForm_Initialize()
Dim i As Byte, j As Byte
 
ListBox1.ColumnCount = 7
ListBox1.ColumnWidths = "50;15;50;15;50;15;50"
For i = 1 To 20
    ListBox1.AddItem "Ligne" & i
    For j = 2 To 7 Step 2
    ListBox1.List(ListBox1.ListCount - 1, j) = i & j
    Next j
    For j = 1 To 6 Step 2 'boucle pour créer les "séparateurs" de colonnes
    ListBox1.List(ListBox1.ListCount - 1, j) = Chr(124)
    Next j
Next i
End Sub
, ou bien une autre astuce (rajouter le point d'exclamation "!" au lieu "chr=124"), j'espère que vous pouvez m'aider pour que je puisse adapter un des deux exemples sur mon premier code posté.

Cordialement.
Gestionnaire_rh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2011, 20h46   #6
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu

Bonsoir

Tout d'abord comment remplis tu ta ListBox ?

Si tu utilises une boucle for next, do loop,
à chaque fois que tu instruis la colonne en ligne, tu ajoutes à la variable ton caractère.

Cela dit tu risques d'avoir les valeurs corompues.
Alors si tu as 10 colonnes à remplir mets en 20, et 1 sur 2 tu mets ton caractère.

Tu en as déjà un exemple.

Au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 13h44   #7
Membre actif
 
Homme
Ressources humaines
Inscription : janvier 2011
Messages : 172
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ressources humaines
Secteur : Bâtiment

Informations forums :
Inscription : janvier 2011
Messages : 172
Points : 166
Points : 166
Bonjour patricktoulon,

mon problème c'est que je ne sais pas comment rajouter ou insérer en mes colonnes un '!' ou un chr(124), car pour visualiser et vérifier mes 41 colonnes dont 31 affichent juste des 1 ou 'A' (présent ou absent) est vraiment pénible, déjà c'est pour cette que j'ai choisi (listview ou lieu de listbox), et code que j'ai utiliser pour alimenter ma listview est le suivant:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub UserForm_Initialize()
Dim VarDerLigne As Integer
Dim VarPlage As String
 
   VarDerLigne = Sheets("pointage").Range("a65536").End(xlUp).Row
   VarPlage = Sheets("pointage").Range("a6:ao" & VarDerLigne).Address
 
   ListBox1.RowSource = "pointage!" & VarPlage
   ListBox1.ColumnCount = 41
   ListBox1.ColumnWidths = "50 ;145 ;50 ;20 ;50 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;25 ;35 ;35 ;35 ;50 ;50 "
   ListBox1.ColumnHeads = True
   ListBox1.IntegralHeight = True
 
End Sub
alors maintenant, comment j’insère le Chr(124)

je vous remercie d'avance

Cordialement.
Gestionnaire_rh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 14h49   #8
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

bonjour Gestionnaire_rh

deja le dernier code que tu a poster ne correspont a un listview
le listview ne se remplisse pas de la meme manière

tu a des tutoriel pour ca qui sont complet

maintenant si tu a 40 element a entrerdans ta listbox il te faudra metre 80 colonnes de facon a metre le symbole dans les colonnes une sur deux


au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 15h39   #9
Membre actif
 
Homme
Ressources humaines
Inscription : janvier 2011
Messages : 172
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ressources humaines
Secteur : Bâtiment

Informations forums :
Inscription : janvier 2011
Messages : 172
Points : 166
Points : 166
Bonjour patricktoulon,

j'ai confondu deux fichiers, disant que travail avec une listbox, mais je ne peut pas inserer des colonnes avec le symbole '!', car en peut soit visualiser et vérifier ou bien imprimer et bien sur avec l'impression je ne veut pas voir ces colonnes insérer, alors s'il y'à possibilité de passer par une colonne fixe (colonne qui contient le symbole et qui est endors de la plage), l'instruction sera comme suit:
colonne A,colonne AP,colonne B, colonne AP, colonne C .....etc, ou bien 41 colonnes après celles des données avec le symbole, et ça sera:
colonne A, colonne AP, colonne B, colonne AQ, colonne C, colonne AR...etc.

je vous remercie d'avance

Cordialement.
Gestionnaire_rh est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h56.


 
 
 
 
Partenaires

Hébergement Web