Changer le nom des boutons de commandes
Résolu/Fermé
kit24be
Messages postés
46
Date d'inscription
samedi 12 janvier 2013
Statut
Membre
Dernière intervention
22 octobre 2017
-
16 févr. 2014 à 10:41
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 16 févr. 2014 à 20:43
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 16 févr. 2014 à 20:43
A voir également:
- Changer le nom des boutons de commandes
- Changer dns - Guide
- Invite de commande - Guide
- Changer le nom de son iphone - Guide
- Changer clavier qwerty en azerty - Guide
- Trouver un nom avec une adresse ✓ - Forum Loisirs / Divertissements
4 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 16/02/2014 à 13:45
Modifié par Patrice33740 le 16/02/2014 à 13:45
Bonjour kit24be,
Essaies ce code :
Cordialement
Patrice
Essaies ce code :
Sub bouton()
Const x As Integer = 20 'Abscisse du 1° bouton
Const y As Integer = 10 'Ordonnée du 1° bouton
Const w As Integer = 100 'Largeur du bouton
Const h As Integer = 20 'Hauteur du bouton
Const dx As Integer = w + 10 'Décalage des boutons en abscisse
Const dy As Integer = h + 5 'Décalage des boutons en ordonnée
Const nb As Integer = 12 'Nombre de boutons par colonne
Dim b As OLEObject 'Bouton
Dim i As Integer 'Incrément
Dim n As Integer 'Nombre de noms de boutons
n = Application.WorksheetFunction.CountA(Range("$a:$a"))
For i = 0 To n - 1
Set b = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1")
With b
.top = y + (i Mod nb) * dy
.left = x + Int(i / nb) * dx
.Width = w
.Height = h
.Name = "Btn " & i + 1
.Object.Caption = Cells(i + 1, "A").Value
End With
Next i
End Sub
Cordialement
Patrice
kit24be
Messages postés
46
Date d'inscription
samedi 12 janvier 2013
Statut
Membre
Dernière intervention
22 octobre 2017
1
16 févr. 2014 à 17:19
16 févr. 2014 à 17:19
Bonjour,
Un très grand merci pour ta réponse, ton code marche super bien. J'ai encore une question, pour que tous les boutons soient associés a une même macro ( recherche dans une liste par rapport a leurs noms en ouvrant un userform) que dois je faire?
Merci d'avance
Un très grand merci pour ta réponse, ton code marche super bien. J'ai encore une question, pour que tous les boutons soient associés a une même macro ( recherche dans une liste par rapport a leurs noms en ouvrant un userform) que dois je faire?
Merci d'avance
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 16/02/2014 à 19:39
Modifié par Patrice33740 le 16/02/2014 à 19:39
Re,
Dans ce cas, si tous les boutons lancent une seule et même macro, il me semble plus simple d'utiliser des boutons de formulaire plutôt que des boutons activeX.
Essaies ce code :
Cordialement
Patrice
Dans ce cas, si tous les boutons lancent une seule et même macro, il me semble plus simple d'utiliser des boutons de formulaire plutôt que des boutons activeX.
Essaies ce code :
Sub BoutonsFormulaire()
Const x As Integer = 60 'Abscisse du 1° bouton
Const y As Integer = 50 'Ordonnée du 1° bouton
Const w As Integer = 100 'Largeur du bouton
Const h As Integer = 20 'Hauteur du bouton
Const dx As Integer = w + 10 'Décalage des bouton en abscisse
Const dy As Integer = h + 5 'Décalage des bouton en ordonnée
Const nb As Integer = 12 'Nombre de boutons par colonne
Dim b As Button 'Bouton
Dim i As Integer 'Incrément
Dim n As Integer 'Nombre de noms de boutons
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
n = Application.WorksheetFunction.CountA(Range("$a:$a"))
For i = 0 To n - 1
'ActiveSheet.Buttons.Add(Left, Top, Width, Height)
Set b = ActiveSheet.Buttons.Add(x + Int(i / nb) * dx, _
y + (i Mod nb) * dy, w, h)
With b
.Name = "Btn " & i + 1
.Caption = Cells(i + 1, "A").Value
.OnAction = "ClicSurBouton"
End With
Next i
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Sub ClicSurBouton()
MsgBox Application.Caller
End Sub
Cordialement
Patrice
kit24be
Messages postés
46
Date d'inscription
samedi 12 janvier 2013
Statut
Membre
Dernière intervention
22 octobre 2017
1
16 févr. 2014 à 19:54
16 févr. 2014 à 19:54
Cela marche super bien, un grand merci
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
16 févr. 2014 à 20:43
16 févr. 2014 à 20:43
De rien, au plaisir de te relire sur le Forum
Cordialement
Paytrice
Cordialement
Paytrice