Modifier petit code pour afficher nombre de "controls"
Fermé
dudulleray
-
22 nov. 2013 à 09:44
vieuxray Messages postés 16 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 18 décembre 2013 - 23 nov. 2013 à 16:53
vieuxray Messages postés 16 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 18 décembre 2013 - 23 nov. 2013 à 16:53
A voir également:
- Modifier petit code pour afficher nombre de "controls"
- Modifier liste déroulante excel - Guide
- Comment modifier un pdf - Guide
- Code ascii de a - Guide
- Modifier code pin - Guide
- Code puk bloqué - Guide
11 réponses
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
22 nov. 2013 à 10:03
22 nov. 2013 à 10:03
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+
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
22 nov. 2013 à 13:43
22 nov. 2013 à 13:43
Bizarre,
tu a quel navigateur ?
Avec Google Chrome pas de problème.
tu a quel navigateur ?
Avec Google Chrome pas de problème.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
22 nov. 2013 à 18:19
22 nov. 2013 à 18:19
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
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
23 nov. 2013 à 14:56
23 nov. 2013 à 14:56
D'après ce que j'ai lu plus bas ce n'est que pour les non-membre.
Inscrit-toi, ça coute rien.
A+
Inscrit-toi, ça coute rien.
A+
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
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
23 nov. 2013 à 15:57
23 nov. 2013 à 15:57
Tant qu'il n'y a pas de changement fondamental entre les versions comme par exemple entre le 2003 et le 2007, ça ne vaux pas beaucoup la peine de changer.
De plus, certaine fonctions sont déjà différentes entre le 2007 et le 2010 ce qui nécessite du remaniement de code.
De plus, certaine fonctions sont déjà différentes entre le 2007 et le 2010 ce qui nécessite du remaniement de code.
vieuxray
Messages postés
16
Date d'inscription
samedi 23 novembre 2013
Statut
Membre
Dernière intervention
18 décembre 2013
23 nov. 2013 à 16:12
23 nov. 2013 à 16:12
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
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
22 nov. 2013 à 10:55
22 nov. 2013 à 10:55
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
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
22 nov. 2013 à 11:30
22 nov. 2013 à 11:30
Re,
Le code de ta question amputé de "Range("S1").Value = Ctrl.Name" ne fonctionne pas ?
Le code de ta question amputé de "Range("S1").Value = Ctrl.Name" ne fonctionne pas ?
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
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par pijaku le 22/11/2013 à 14:12
Modifié par pijaku le 22/11/2013 à 14:12
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
22 nov. 2013 à 14:14
22 nov. 2013 à 14:14
En attendant, j'ai édité le code de lermitte222 et ajouté la balise <code basic> qui va te permettre de copier-coller.........
Au passage, je te salue lermitte222! Bonne journée à toi!
Au passage, je te salue lermitte222! Bonne journée à toi!
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
22 nov. 2013 à 14:27
22 nov. 2013 à 14:27
Bon week end à toi également Raymond.
A+
A+
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
22 nov. 2013 à 14:03
22 nov. 2013 à 14:03
Bonjour,
Il y a effectivement un petit bug avec les balises <code>.
Le copié-collé (donc le copié en l'occurrence) bug pour les non-inscrits.
Par contre, je n'ai pas ton souci de curseur, même en tant que non-inscrit.
Je fais remonter l'info, en tout cas.
Merci et bonne continuation
A+
Il y a effectivement un petit bug avec les balises <code>.
Le copié-collé (donc le copié en l'occurrence) bug pour les non-inscrits.
Par contre, je n'ai pas ton souci de curseur, même en tant que non-inscrit.
Je fais remonter l'info, en tout cas.
Merci et bonne continuation
A+
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