Afficher par vba des commandbouttons

eliot raymond

XLDnaute Occasionnel
Bonjour a toutes et tous, forum,

Je souhaiterai svp par un petit code vba afficher dans un UserForm automatiquement des CommandButtons

soit une petite matrice de 10 X 10 collés les uns aux autres, avec pour cotes Height = 18 et Width = 24

Comme dans le fichier ci-joint pour EX:

Merci a vous et de votre aide

Bonne après midi

Raymond
 

Pièces jointes

  • CommandButton.xlsm
    14.4 KB · Affichages: 56
  • CommandButton.xlsm
    14.4 KB · Affichages: 54
  • CommandButton.xlsm
    14.4 KB · Affichages: 58

laetitia90

XLDnaute Barbatruc
Re : Afficher par vba des commandbouttons

bonjour tous :):):):):)

essai de supprimer en utilisant la proprietée name de l'object
code user

rajoute cette ligne dans code user
Code:
 .Name = "x" & nbr
apres ou avant
Code:
.Caption = "Btn" & nbr

code macro dans module1

Code:
Sub effacer()
For Each c In UserForm1.Controls
If Left(c.Name, 1) = "x" Then UserForm1.Controls.Remove c.Name
Next
End Sub
 

Efgé

XLDnaute Barbatruc
Re : Afficher par vba des commandbouttons

Bonjour eliot raymond, Bonjour fhoest, Bonjour Hulk :), Bonjour laetitia :):),
Comme le sujet m'interresse, je me permet une intrusion...
J'ai fait une "concaténation" des propositions avec quelques modifs:
En partant du code d'Hulk, j'ai "simplifié"
J'ai remis la suppression des boutons dans le code.
On peux recréer moins de boutons qu'il n'y en a (passer de 15 à 3 par exemple)
L'inputBox est entièrement gérée.
VB:
Private Sub CommandButton1_Click()
    Dim nbr&, combien As Variant, depTop&, depLeft&, Cpt&, bouton As Control
    depTop = 20
    Cpt = -1
    Application.DisplayAlerts = False
        combien = Application.InputBox("Combien de bouton ?", "Nombre de bouton", , Type:=1)
    Application.DisplayAlerts = True
    If combien = "Faux" Then Exit Sub
    
    For Each bouton In Me.Controls
        If bouton.Name Like "Btn" & "*" Then Controls.Remove bouton.Name
    Next bouton
    
    If combien = 0 Then Exit Sub
    
    For nbr = 1 To combien
        Cpt = Cpt + 1
        If Cpt = 5 Then
            depTop = depTop + 20
            Cpt = 0
        End If
        Set bouton = Controls.Add("Forms.CommandButton.1")
        With bouton
            .Left = (Cpt * 27) + 20
            .Top = depTop
            .Width = 27
            .Height = 18
            .Name = "Btn" & nbr
            .BackColor = RGB(0, 128, 64)
        End With
    Next nbr
End Sub

Cordialement
 

Pièces jointes

  • Classeur1.xlsm
    20.5 KB · Affichages: 47
  • Classeur1.xlsm
    20.5 KB · Affichages: 46
  • Classeur1.xlsm
    20.5 KB · Affichages: 43

eliot raymond

XLDnaute Occasionnel
Re : Afficher par vba des commandbouttons

Salut Laetitia90

Merci pour ta réponse et merci pour les codes, je viens de faire l'essai ça ne marche pas

je ne peux pas effacer les commandButtons qu'ils soient écrit ou colorisés

Merci tout de mème au plaisir de te relire

Cdlt Raymond
 

eliot raymond

XLDnaute Occasionnel
Re : Afficher par vba des commandbouttons

salut efgé,

Merci pour ta réponse j'ai essayer le code modifier c'est de mieux en mieux

serait 'il possible de faire en sorte de choisir le nombre de commandButtons a avoir en colonne

le nombre de ligne

Exemple 50 en colonnes et sur 7 lignes pour Height = 11 et Width = 24

ou autre possibilité selon le besoin en automatique et accolés les uns au autres.

Merci pour la modification, j'ai essayer mais sans commentaire LOL

Cdlt Raymond
 

Efgé

XLDnaute Barbatruc
Re : Afficher par vba des commandbouttons

Re à tous,
serait 'il possible de faire en sorte de choisir le nombre de commandButtons a avoir en colonne

le nombre de ligne
Je dois avouer que je ne comprend pas...

Exemple 50 en colonnes et sur 7 lignes pour Height = 11 et Width = 24
Si le nombre de boutons est fixe, pourquoi les créer dynamiquement ?

ou autre possibilité selon le besoin en automatique et accolés les uns au autres
C'est déja fait ....

Il serait peut être temps de mettre un fichier exemple et d'explquer ce tu veux, ce que tu as, etc...
Cordialement
 

fhoest

XLDnaute Accro
Re : Afficher par vba des commandbouttons

Bonsoir Efgé Laeticia,hulk et raymond,+le forum si j'en ai oublié.
pour pouvoir rectifié l'erreur que tu as présenté avec l'image il faudrait avoir le fichier complet qui concerne cette même photo car la pour mon ptit niveau je n'arrive pas a voir le code qui bugg au travers d'une photo et d'un message d'alerte peut être faudrait il ajouter une gestion d'erreur dans le code.
Je ne pense pas que les couleurs soient un handicap pour supprimer les contrôles.
A bientôt.
 

eliot raymond

XLDnaute Occasionnel
Re : Afficher par vba des commandbouttons

Bonjour a toutes et tous, forum

Salut Efgé

Voila un résumé de ce que tu voulais savoir, j'ai expliqué pour le mieux, pour le fichier, c'est le tien"Classeur1.xlsm‎ (20,5 Ko, 9" avec lequel je fait des essais pour voir comment faire et apprendre par la mème occasion.


Pour un futur programme en construction, je voulais pouvoir créer dynamiquement différentes matrices constitués de commandbouttons et les affichées dans un UserForm et peut être Frame automatiquement.

Il va de soit que la taille des commandbouttons restera raisonnable
Taille Width = 24 Height = 18 maxi et pour les autres matrices restera a déterminé

A l’ouverture du programme afficher dans un UserForm par exemple une matrice 30 colonnes X 7 lignes qui seront affichés accolés et ensuite qui seront colorisés

Une macro pour effacer sur un clic la matrice

Avoir un bouton qui en cliquant dessus (effacerait cette première matrice) pour afficher une autre matrice, cette fois différente en nombres de colonne et de lignes et plus ou moins grande en taille de commandBouttons Width et Height
Donc dans l’immédiat c’est ton fichier dont tu as modifié le code qui me sert de BASE essai pour l’instant et corresponds presque a ce qui me conviendrai

je souhaiterai entrer un nombre (ça c’est fait) voulu de commandButtons et que cela s’affiche en alignement Horizontal et vertical

Ce programme une fois terminé servira dans le cadre d’une école maternelle, apprentissage couleurs, et loisirs basé sur le scrappbooting pour enfants etc etc

Et servira de base pour être adapter par une autre personne ou peut être moi si les demandes de modifications ne seront pas trop compliqués.

Voila pour le Tome 1 LOL

Bonne journée et merci pour l'aide

Cdlt Raymond
 

eliot raymond

XLDnaute Occasionnel
Re : Afficher par vba des commandbouttons

Bonsoir Efgé Laeticia,hulk et raymond,+le forum si j'en ai oublié.
pour pouvoir rectifié l'erreur que tu as présenté avec l'image il faudrait avoir le fichier complet qui concerne cette même photo car la pour mon ptit niveau je n'arrive pas a voir le code qui bugg au travers d'une photo et d'un message d'alerte peut être faudrait il ajouter une gestion d'erreur dans le code.
Je ne pense pas que les couleurs soient un handicap pour supprimer les contrôles.
A bientôt.


Salut fhoest

Merci a toi, la c'est bon ça fonctionne pour l'effacement des commandBoutons mème si il sont colorisés, c'est moi qui si

prenais pas très bien.

Merci pour ton aide, je te souhaite une bonne journée

Cdlt Ray
 

Discussions similaires

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 763
dernier inscrit
NICO26