A voir également:
- Modifier petit code pour afficher nombre de "controls"
- Code ascii - Guide
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Modifier code pin - Guide
- Code de déverrouillage oublié - Guide
11 réponses
Bonjour Raymond,
Ceci est faux :
car S1 est écrasé à chaque passage de boucle.
Il ne faut conserver que la première ligne.
Ensuite, tu parles d'ordre... Quel ordre ? alphabétique ? TabIndex ? position dans le UserForm ?
A+
Ceci est faux :
Cells(Cpt, 19).Value = Ctrl.Name Range("S1").Value = Ctrl.Name
car S1 est écrasé à chaque passage de boucle.
Il ne faut conserver que la première ligne.
Ensuite, tu parles d'ordre... Quel ordre ? alphabétique ? TabIndex ? position dans le UserForm ?
A+
Je pensais que tu serais assez "fort" pour transcrire sur une feuille. :=)
Private Sub CommandButton9_Click()A+
Dim Ctl As Control
Dim Lab() As String, Command() As String, Txt() As String, Autre() As String
Dim Lb As Integer, Cd As Integer, Tx As Integer, Aut As Integer
ReDim Lab(0): ReDim Command(0): ReDim Txt(0): ReDim Autre(0)
Dim i As Integer
For Each Ctl In Me.Controls
Select Case TypeName(Ctl)
Case "Label": ReDim Preserve Lab(Lb): Lab(Lb) = Ctl.Name: Lb = Lb + 1
Case "CommadButton": ReDim Preserve Command(Cd): Command(Cd) = Ctl.Name: Cd = Cd + 1
Case "TextBox": ReDim Preserve Txt(Tx): Txt(Tx) = Ctl.Name: Tx = Tx + 1
Case Else: ReDim Preserve Autre(Aut): Autre(Aut) = Ctl.Name: Aut = Aut + 1
End Select
Next Ctl
'Exemple d'affichage par catégorie de contrôles.
Dim Lig As Long
Lig = 2
With ActiveSheet
.Columns("S:S").ClearContents
.Cells(Lig, "S") = "Il y a " & Lb & " Label"
Lig = Lig + 1
For i = 0 To Lb - 1
.Cells(Lig, "S") = Lab(i)
Lig = Lig + 1
Next i
Lig = Lig + 1
.Cells(Lig, "S") = "Il y a " & Tx & " TextBox"
Lig = Lig + 1
For i = 0 To Tx - 1
.Cells(Lig, "S") = Txt(i)
Lig = Lig + 1
Next i
'... la suite
Lig = Lig + 1
.Cells(Lig, "S") = "Il y a " & Me.Controls.Count & " controls dans l'userform"
End With
End Sub
Salut lermite222
merci pour la reponse et le code modifier c'est sympa
rassure toi bien que j'ai essayer de modifier et que je voulais arriver seul
Mais hélas pour moi je n'y suis pas parvenu
Heureusement qu'il y a internet et surtout des gens comme toi qui partage
leur savoir
je partage souvent mes bras ( bricoles en tout genre ) et je peux te dire que je n'ai pas
souvent de merci.
Bon en tout cas le code proposer fonctionne bien
je te souhaite un excellent W-end accompagner de tous mes remerciements.
Cordialement Raymond
PS: tu a vu qu'il y a bien un soucis de copier coller sur le site
merci pour la reponse et le code modifier c'est sympa
rassure toi bien que j'ai essayer de modifier et que je voulais arriver seul
Mais hélas pour moi je n'y suis pas parvenu
Heureusement qu'il y a internet et surtout des gens comme toi qui partage
leur savoir
je partage souvent mes bras ( bricoles en tout genre ) et je peux te dire que je n'ai pas
souvent de merci.
Bon en tout cas le code proposer fonctionne bien
je te souhaite un excellent W-end accompagner de tous mes remerciements.
Cordialement Raymond
PS: tu a vu qu'il y a bien un soucis de copier coller sur le site
Salut lermite222
Merci ok je vais m'inscrire
Pendant que je te tiens iihihihih
j'ai excel 2007 version etudiant depuis un moment, on m'offre l'achat d'une version plus récente
Excel 2010 ou 2013 officielle bien sur
tu pourrai svp m'aiguiller et conseiller pour acheter un Excel
j'ai fouiller un peu mais je suis un peu indécis
Merci a toi bon W-end
Cdlt Raymond
Merci ok je vais m'inscrire
Pendant que je te tiens iihihihih
j'ai excel 2007 version etudiant depuis un moment, on m'offre l'achat d'une version plus récente
Excel 2010 ou 2013 officielle bien sur
tu pourrai svp m'aiguiller et conseiller pour acheter un Excel
j'ai fouiller un peu mais je suis un peu indécis
Merci a toi bon W-end
Cdlt Raymond
Ok merci pour ta réponse, c'est gentil,
je voulais refaire mon programme de compta sur une autre version
mon programme est sensible a excel
Excel a cesser de fonctionner
Excel doit redemarer
Mon excel est installer correctement sur un bon pc, suis peut etre pas bon pour le VBA
mais le matos je connais.
peut etre mon fichier corrompu ou je ne sais plus quoi d'ailleurs
un coup le poids grossi ensuite ca rebaisse
c'est a plus rien y comprendre
j'ai fait plusieurs le tour du code et fait fonctionner le programme tourne nikel
si je modifie des fois c'est bon, des fois non, (réponse de Normand)
Bon sinon suis inscrit voila
merci a toi bon w-end
Raymond
je voulais refaire mon programme de compta sur une autre version
mon programme est sensible a excel
Excel a cesser de fonctionner
Excel doit redemarer
Mon excel est installer correctement sur un bon pc, suis peut etre pas bon pour le VBA
mais le matos je connais.
peut etre mon fichier corrompu ou je ne sais plus quoi d'ailleurs
un coup le poids grossi ensuite ca rebaisse
c'est a plus rien y comprendre
j'ai fait plusieurs le tour du code et fait fonctionner le programme tourne nikel
si je modifie des fois c'est bon, des fois non, (réponse de Normand)
Bon sinon suis inscrit voila
merci a toi bon w-end
Raymond
Salut Zoul67,
Merci bien pour ta réponse
ça démarre mal, LOL, mais, je ne sais pas faire autrement.
Bon je souhaiterai svp juste savoir le nombre de controls tout confondu que j'ai dans mon USF
Quand je dis dans l'ordre c'est tout simplement compter tous le Labels puis les
Textboxs les Frames etc etc
J'avais vu un petit code sur le net qui faisait ce que tu dit (Quel ordre ? alphabétique ? TabIndex ? position dans le UserForm ? )
mais bien sur, je ne retrouve plus.
Merci beaucoup pour ton aide
Cdlt Ray
Merci bien pour ta réponse
ça démarre mal, LOL, mais, je ne sais pas faire autrement.
Ceci est faux :
Cells(Cpt, 19).Value = Ctrl.Name
Range("S1").Value = Ctrl.Name
Bon je souhaiterai svp juste savoir le nombre de controls tout confondu que j'ai dans mon USF
Quand je dis dans l'ordre c'est tout simplement compter tous le Labels puis les
Textboxs les Frames etc etc
J'avais vu un petit code sur le net qui faisait ce que tu dit (Quel ordre ? alphabétique ? TabIndex ? position dans le UserForm ? )
mais bien sur, je ne retrouve plus.
Merci beaucoup pour ton aide
Cdlt Ray
Re,
Quand je disais première ligne, je pensais à celle-ci :
Soit tu les listes, soit tu les comptes en te basant sur ceci (ici : décompte des Listbox-es) :
A+
Quand je disais première ligne, je pensais à celle-ci :
Cells(Cpt, 19).Value = Ctrl.Namequi est bonne.
Soit tu les listes, soit tu les comptes en te basant sur ceci (ici : décompte des Listbox-es) :
Dim ctrl As msforms.Control, cnt As Long cnt = 0 For Each ctrl In UserForm1.Controls If TypeOf ctrl Is msforms.ListBox Then cnt = cnt + 1 End If Next MsgBox cnt
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re Zoul67
Merci pour le petit code, j'ai essayer ca fonctionne bien.
Mais comment svp je peux faire pour lister tous les controls en une seule fois
et afficher le tout dans la colonne S
Merci beaucoup
a plus tard
Cdlt Ray
Merci pour le petit code, j'ai essayer ca fonctionne bien.
Mais comment svp je peux faire pour lister tous les controls en une seule fois
et afficher le tout dans la colonne S
Merci beaucoup
a plus tard
Cdlt Ray
Re,
Si cela fonctionne mais l'affichage n'ai pas comme je souhaitai
Exemple qui serai afficher dans la colonne (S)
label1
label2
label3
textbox1
textbox2
textbox3
frame1
frame2
combobox1
combobox2
etc etc etc
Merci a toi
Ray
Si cela fonctionne mais l'affichage n'ai pas comme je souhaitai
Exemple qui serai afficher dans la colonne (S)
label1
label2
label3
textbox1
textbox2
textbox3
frame1
frame2
combobox1
combobox2
etc etc etc
Merci a toi
Ray
Bonjour,
Un exemple pour afficher tout les contrôles par catégorie
A adapter bien entendu.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Un exemple pour afficher tout les contrôles par catégorie
Private Sub CommandButton4_Click() Dim Ctl As Control Dim Lab() As String, Command() As String, Txt() As String, Autre() As String Dim Lb As Integer, Cd As Integer, Tx As Integer, Aut As Integer ReDim Lab(0): ReDim Command(0): ReDim Txt(0): ReDim Autre(0) Dim Mess As String, i As Integer, CR CR = Chr(13) For Each Ctl In Me.Controls Select Case TypeName(Ctl) Case "Label": ReDim Preserve Lab(Lb): Lab(Lb) = Ctl.Name: Lb = Lb + 1 Case "CommadButton": ReDim Preserve Command(Cd): Command(Cd) = Ctl.Name: Cd = Cd + 1 Case "TextBox": ReDim Preserve Txt(Tx): Txt(Tx) = Ctl.Name: Tx = Tx + 1 Case Else: ReDim Preserve Autre(Aut): Autre(Aut) = Ctl.Name: Aut = Aut + 1 End Select Next Ctl 'Exemple d'affichage par catégorie de contrôles. Mess = "Il y a " & Lb & " Label" & CR For i = 0 To Lb - 1 Mess = Mess & Lab(i) & CR Next i Mess = Mess & "Il y a " & Tx & " TextBox" & CR For i = 0 To Tx - 1 Mess = Mess & Txt(i) & CR Next i '... la suite Mess = Mess & "Il y a " & Me.Controls.Count & " controls dans l'userform" MsgBox Mess End Sub
A adapter bien entendu.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Salut lermite222
Merci pour ta réponse et pour le code
impossible de prendre ton code en copier coller pour faire l'essai
ca mets tout les lignes de code bout a bout, ça donne une ligne de code de 300 metres LOL
je vais imprimer et le taper
Merci a toi bonne après midi
Cdlt Ray
Merci pour ta réponse et pour le code
impossible de prendre ton code en copier coller pour faire l'essai
ca mets tout les lignes de code bout a bout, ça donne une ligne de code de 300 metres LOL
je vais imprimer et le taper
Merci a toi bonne après midi
Cdlt Ray
Google Chrome sous windows 7 32 bits
ca marchai encore bien tout a l'heure, ca arrive assez souvent mème quand je réponds aux gens le curseur se bloque pour écrire disparait
c'est uniquement sur ce forum, sinon jamais d'ennuie particulier
tant pis je vais le taper tout a l'heure
ca marchai encore bien tout a l'heure, ca arrive assez souvent mème quand je réponds aux gens le curseur se bloque pour écrire disparait
c'est uniquement sur ce forum, sinon jamais d'ennuie particulier
tant pis je vais le taper tout a l'heure
Re lermite222
Bon après ce petit soucis , j'ai pu copier ton code
je l'ai essayer ca m'a l'air de fonctionner mais a l'affichage dans la MSGBOX
comme il y a beaucoup de controls
la msgbox s'affiche sur toute la hauteur de l'ecran et je ne peux pas la faire défiler
ce qui fait que je ne vois que le début de la liste.
Mais si on pouvais svp faire en sorte d'afficher la liste dans ma colonne (S) ça
m'arrangerai bien
Merci pour ton aide
Ray
Bon après ce petit soucis , j'ai pu copier ton code
je l'ai essayer ca m'a l'air de fonctionner mais a l'affichage dans la MSGBOX
comme il y a beaucoup de controls
la msgbox s'affiche sur toute la hauteur de l'ecran et je ne peux pas la faire défiler
ce qui fait que je ne vois que le début de la liste.
Mais si on pouvais svp faire en sorte d'afficher la liste dans ma colonne (S) ça
m'arrangerai bien
Merci pour ton aide
Ray