bonjour
sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture(
workbook_open ) donner leur valeurs height, width et top.
seulement le code suivant me renvoit une erreur 424 je ne vois pas ...
Merci de m'aider
Lionel
Sub stdbut()
c = "CommandButton"
f = "ActiveSheet."
For i = 4 To 57
If i < 4 And i < 15 Then GoTo fin:
If i = 19 Then GoTo fin:
If i = 21 Then GoTo fin:
cb = f & c & i
cb.Width = 81.75
cb.Height = 23.25
If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i =
22 Then cb.Top = 196.5
......
next
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Une procédure qui boucle sur TOUS les objets contenus dans ta feuille et identifie seulement les "commandButton" de cette dernière Et selon l'index de ceux-ci, tu définiras ce qui doit se passer .... je n'ai pas compris ce que tu voulais faire
'------------------------------------ Sub test()
Dim Obj As Object Dim Sh As Object, F As Worksheet
On Error Resume Next
Set F = Worksheets("Feuil1") 'Nom à adapter
For Each Sh In F.Shapes Set Obj = Sh.OLEFormat.Object.Object 'test pour déterminer si l'objet est un bouton de commande If TypeName(Obj) = "CommandButton" Then 'Détermine l'index de tes boutons de commande Select Case CInt(Application.Substitute(Sh.Name, "CommandButton", "")) 'pour tous les index des boutons de commandes 'portant le numéro de 4 à 15 inclusivement + 19 +21 Case 4 To 15, 19, 21 'tu définis ce qui doit se passer MsgBox Sh.Name
Case Else 'Et Pour tous les autres numéros ' définir la largeur, hauteur, haut et gauche 'du bouton de commande. With Sh .Width = 65 .Height = 20 'Localisation dans la feuille à l'aide 'd'une cellule .Top = F.Range("G5").Top .Left = F.Range("G5").Left End With End Select End If Next
End Sub '------------------------------------
"Lionel" a écrit dans le message de news: 4634919f$0$27387$ bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i 22 Then cb.Top = 196.5 ...... next
Une procédure qui boucle sur TOUS les objets contenus
dans ta feuille et identifie seulement les "commandButton" de cette dernière
Et selon l'index de ceux-ci, tu définiras ce qui doit se passer ....
je n'ai pas compris ce que tu voulais faire
'------------------------------------
Sub test()
Dim Obj As Object
Dim Sh As Object, F As Worksheet
On Error Resume Next
Set F = Worksheets("Feuil1") 'Nom à adapter
For Each Sh In F.Shapes
Set Obj = Sh.OLEFormat.Object.Object
'test pour déterminer si l'objet est un bouton de commande
If TypeName(Obj) = "CommandButton" Then
'Détermine l'index de tes boutons de commande
Select Case CInt(Application.Substitute(Sh.Name, "CommandButton", ""))
'pour tous les index des boutons de commandes
'portant le numéro de 4 à 15 inclusivement + 19 +21
Case 4 To 15, 19, 21
'tu définis ce qui doit se passer
MsgBox Sh.Name
Case Else
'Et Pour tous les autres numéros
' définir la largeur, hauteur, haut et gauche
'du bouton de commande.
With Sh
.Width = 65
.Height = 20
'Localisation dans la feuille à l'aide
'd'une cellule
.Top = F.Range("G5").Top
.Left = F.Range("G5").Left
End With
End Select
End If
Next
End Sub
'------------------------------------
"Lionel" <lionel.ma@wanadoo.fr> a écrit dans le message de news:
4634919f$0$27387$ba4acef3@news.orange.fr...
bonjour
sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture(
workbook_open ) donner leur valeurs height, width et top.
seulement le code suivant me renvoit une erreur 424 je ne vois pas ...
Merci de m'aider
Lionel
Sub stdbut()
c = "CommandButton"
f = "ActiveSheet."
For i = 4 To 57
If i < 4 And i < 15 Then GoTo fin:
If i = 19 Then GoTo fin:
If i = 21 Then GoTo fin:
cb = f & c & i
cb.Width = 81.75
cb.Height = 23.25
If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i 22 Then cb.Top = 196.5
......
next
Une procédure qui boucle sur TOUS les objets contenus dans ta feuille et identifie seulement les "commandButton" de cette dernière Et selon l'index de ceux-ci, tu définiras ce qui doit se passer .... je n'ai pas compris ce que tu voulais faire
'------------------------------------ Sub test()
Dim Obj As Object Dim Sh As Object, F As Worksheet
On Error Resume Next
Set F = Worksheets("Feuil1") 'Nom à adapter
For Each Sh In F.Shapes Set Obj = Sh.OLEFormat.Object.Object 'test pour déterminer si l'objet est un bouton de commande If TypeName(Obj) = "CommandButton" Then 'Détermine l'index de tes boutons de commande Select Case CInt(Application.Substitute(Sh.Name, "CommandButton", "")) 'pour tous les index des boutons de commandes 'portant le numéro de 4 à 15 inclusivement + 19 +21 Case 4 To 15, 19, 21 'tu définis ce qui doit se passer MsgBox Sh.Name
Case Else 'Et Pour tous les autres numéros ' définir la largeur, hauteur, haut et gauche 'du bouton de commande. With Sh .Width = 65 .Height = 20 'Localisation dans la feuille à l'aide 'd'une cellule .Top = F.Range("G5").Top .Left = F.Range("G5").Left End With End Select End If Next
End Sub '------------------------------------
"Lionel" a écrit dans le message de news: 4634919f$0$27387$ bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i 22 Then cb.Top = 196.5 ...... next
tissot.emmanuel
Bonjour,
c = "CommandButton" f = "ActiveSheet." cb = f & c & i
D'apres ton code cb n'est qu'une chaine de caracteres et non une variable de type CommandButton.
Si tu connais le nom de tes CommandButton tu peux essayer ainsi:
With Worksheets("NomDeLaFeuille") With .Shapes("NomBouton1") .Width = 81.75 .Height = 23.25 End With 'Etc End With
N'étant pas utilisateur forcené de boutons sur les feuilles je ne saurais t'aider plus, bon courage.
Manu/
"Lionel" a écrit dans le message de news: 4634919f$0$27387$
bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 ......
next
Bonjour,
c = "CommandButton"
f = "ActiveSheet."
cb = f & c & i
D'apres ton code cb n'est qu'une chaine de caracteres et non une variable de
type CommandButton.
Si tu connais le nom de tes CommandButton tu peux essayer ainsi:
With Worksheets("NomDeLaFeuille")
With .Shapes("NomBouton1")
.Width = 81.75
.Height = 23.25
End With
'Etc
End With
N'étant pas utilisateur forcené de boutons sur les feuilles je ne saurais
t'aider plus, bon courage.
Manu/
"Lionel" <lionel.ma@wanadoo.fr> a écrit dans le message de news:
4634919f$0$27387$ba4acef3@news.orange.fr...
bonjour
sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture(
workbook_open ) donner leur valeurs height, width et top.
seulement le code suivant me renvoit une erreur 424 je ne vois pas ...
Merci de m'aider
Lionel
Sub stdbut()
c = "CommandButton"
f = "ActiveSheet."
For i = 4 To 57
If i < 4 And i < 15 Then GoTo fin:
If i = 19 Then GoTo fin:
If i = 21 Then GoTo fin:
cb = f & c & i
cb.Width = 81.75
cb.Height = 23.25
If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
c = "CommandButton" f = "ActiveSheet." cb = f & c & i
D'apres ton code cb n'est qu'une chaine de caracteres et non une variable de type CommandButton.
Si tu connais le nom de tes CommandButton tu peux essayer ainsi:
With Worksheets("NomDeLaFeuille") With .Shapes("NomBouton1") .Width = 81.75 .Height = 23.25 End With 'Etc End With
N'étant pas utilisateur forcené de boutons sur les feuilles je ne saurais t'aider plus, bon courage.
Manu/
"Lionel" a écrit dans le message de news: 4634919f$0$27387$
bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 ......
next
Daniel
Bonjour. Remplace : cb = f & c & i par : Set cb = ActiveSheet.Shapes(c & i) Cordialement. Daniel "Lionel" a écrit dans le message de news: 4634919f$0$27387$
bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 ......
next
Bonjour.
Remplace :
cb = f & c & i
par :
Set cb = ActiveSheet.Shapes(c & i)
Cordialement.
Daniel
"Lionel" <lionel.ma@wanadoo.fr> a écrit dans le message de news:
4634919f$0$27387$ba4acef3@news.orange.fr...
bonjour
sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture(
workbook_open ) donner leur valeurs height, width et top.
seulement le code suivant me renvoit une erreur 424 je ne vois pas ...
Merci de m'aider
Lionel
Sub stdbut()
c = "CommandButton"
f = "ActiveSheet."
For i = 4 To 57
If i < 4 And i < 15 Then GoTo fin:
If i = 19 Then GoTo fin:
If i = 21 Then GoTo fin:
cb = f & c & i
cb.Width = 81.75
cb.Height = 23.25
If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
Bonjour. Remplace : cb = f & c & i par : Set cb = ActiveSheet.Shapes(c & i) Cordialement. Daniel "Lionel" a écrit dans le message de news: 4634919f$0$27387$
bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 ......
next
Lionel
Rebonsoir
Ca ne fonctionne pas ... il y a 42 boutons 7colonnes de 6 lignes le but est de les aligner en leur donnant une dimension similaire... voici donc tout mon code peut etre y verrez vous un peu plus clair
Sub stdbut() Dim cb As Object Sheets("Accueil").Activate c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: Set cb = ActiveSheet.Shapes(c & i) With cb.Name .Width = 81.75 .Height = 23.25 End With If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i 22 Then cb.Top = 196.5 If i > 22 And i < 30 Then cb.Top = 218.25 If i > 29 And i < 37 Then cb.Top = 240 If i > 36 And i < 44 Then cb.Top = 261.75 If i > 43 And i < 51 Then cb.Top = 283.5 If i > 50 And i < 58 Then cb.Top = 306 If i = 4 Or i = 23 Or i = 30 Or i = 37 Or i = 44 Or i = 51 Then cb.Left 120.75 If i = 15 Or i = 24 Or i = 31 Or i = 38 Or i = 45 Or i = 52 Then cb.Left 201 If i = 16 Or i = 25 Or i = 32 Or i = 39 Or i = 46 Or i = 53 Then cb.Left 282 If i = 17 Or i = 26 Or i = 33 Or i = 40 Or i = 47 Or i = 54 Then cb.Left 363 If i = 18 Or i = 27 Or i = 34 Or i = 41 Or i = 48 Or i = 55 Then cb.Left 444
fin: Next End Sub "Daniel" a écrit dans le message de news:
Bonjour. Remplace : cb = f & c & i par : Set cb = ActiveSheet.Shapes(c & i) Cordialement. Daniel "Lionel" a écrit dans le message de news: 4634919f$0$27387$
bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 ......
next
Rebonsoir
Ca ne fonctionne pas ...
il y a 42 boutons 7colonnes de 6 lignes
le but est de les aligner en leur donnant une dimension similaire...
voici donc tout mon code peut etre y verrez vous un peu plus clair
Sub stdbut()
Dim cb As Object
Sheets("Accueil").Activate
c = "CommandButton"
f = "ActiveSheet."
For i = 4 To 57
If i < 4 And i < 15 Then GoTo fin:
If i = 19 Then GoTo fin:
If i = 21 Then GoTo fin:
Set cb = ActiveSheet.Shapes(c & i)
With cb.Name
.Width = 81.75
.Height = 23.25
End With
If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i 22 Then cb.Top = 196.5
If i > 22 And i < 30 Then cb.Top = 218.25
If i > 29 And i < 37 Then cb.Top = 240
If i > 36 And i < 44 Then cb.Top = 261.75
If i > 43 And i < 51 Then cb.Top = 283.5
If i > 50 And i < 58 Then cb.Top = 306
If i = 4 Or i = 23 Or i = 30 Or i = 37 Or i = 44 Or i = 51 Then cb.Left 120.75
If i = 15 Or i = 24 Or i = 31 Or i = 38 Or i = 45 Or i = 52 Then cb.Left 201
If i = 16 Or i = 25 Or i = 32 Or i = 39 Or i = 46 Or i = 53 Then cb.Left 282
If i = 17 Or i = 26 Or i = 33 Or i = 40 Or i = 47 Or i = 54 Then cb.Left 363
If i = 18 Or i = 27 Or i = 34 Or i = 41 Or i = 48 Or i = 55 Then cb.Left 444
fin:
Next
End Sub
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
eY1wDimiHHA.596@TK2MSFTNGP06.phx.gbl...
Bonjour.
Remplace :
cb = f & c & i
par :
Set cb = ActiveSheet.Shapes(c & i)
Cordialement.
Daniel
"Lionel" <lionel.ma@wanadoo.fr> a écrit dans le message de news:
4634919f$0$27387$ba4acef3@news.orange.fr...
bonjour
sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture(
workbook_open ) donner leur valeurs height, width et top.
seulement le code suivant me renvoit une erreur 424 je ne vois pas ...
Merci de m'aider
Lionel
Sub stdbut()
c = "CommandButton"
f = "ActiveSheet."
For i = 4 To 57
If i < 4 And i < 15 Then GoTo fin:
If i = 19 Then GoTo fin:
If i = 21 Then GoTo fin:
cb = f & c & i
cb.Width = 81.75
cb.Height = 23.25
If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or
i
Ca ne fonctionne pas ... il y a 42 boutons 7colonnes de 6 lignes le but est de les aligner en leur donnant une dimension similaire... voici donc tout mon code peut etre y verrez vous un peu plus clair
Sub stdbut() Dim cb As Object Sheets("Accueil").Activate c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: Set cb = ActiveSheet.Shapes(c & i) With cb.Name .Width = 81.75 .Height = 23.25 End With If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i 22 Then cb.Top = 196.5 If i > 22 And i < 30 Then cb.Top = 218.25 If i > 29 And i < 37 Then cb.Top = 240 If i > 36 And i < 44 Then cb.Top = 261.75 If i > 43 And i < 51 Then cb.Top = 283.5 If i > 50 And i < 58 Then cb.Top = 306 If i = 4 Or i = 23 Or i = 30 Or i = 37 Or i = 44 Or i = 51 Then cb.Left 120.75 If i = 15 Or i = 24 Or i = 31 Or i = 38 Or i = 45 Or i = 52 Then cb.Left 201 If i = 16 Or i = 25 Or i = 32 Or i = 39 Or i = 46 Or i = 53 Then cb.Left 282 If i = 17 Or i = 26 Or i = 33 Or i = 40 Or i = 47 Or i = 54 Then cb.Left 363 If i = 18 Or i = 27 Or i = 34 Or i = 41 Or i = 48 Or i = 55 Then cb.Left 444
fin: Next End Sub "Daniel" a écrit dans le message de news:
Bonjour. Remplace : cb = f & c & i par : Set cb = ActiveSheet.Shapes(c & i) Cordialement. Daniel "Lionel" a écrit dans le message de news: 4634919f$0$27387$
bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 ......
next
tissot.emmanuel
Bonsoir,
J'espere que ceci te mettra sur la voie:
Sub CreationBouton() Dim i As Integer, j As Integer, w As Single, h As Single w = 81.75 'Largeur des boutons h = 23.25 'Hauteur des boutons With Worksheets("Feuil1").Shapes 'Modifier le nom de la feuille For j = 1 To 6 '6 lignes For i = 1 To 7 '7 colonnes .AddOLEObject Left: + (i - 1) * w, Top:6 + (j - 1) * h, Width:=w, Height:=h, _ ClassType:="Forms.CommandButton.1" Next Next End With End Sub
Sub SuppressionBoutons() On Error GoTo Fin 'En supposant qu'il n'y ait pas d'autres controles sur la feuille With Worksheets("Feuil1").Shapes 'Modifier le nom de la feuille Do .Item(1).Delete Loop End With Fin: End Sub
Bonne chance,
Manu/
PS: 42 boutons sur une feuille cela vaut peut etre le coup de passer par un UserForm bien plus facile a manipuler.
"Lionel" a écrit dans le message de news: 46350a67$0$27384$
Rebonsoir
Ca ne fonctionne pas ... il y a 42 boutons 7colonnes de 6 lignes le but est de les aligner en leur donnant une dimension similaire... voici donc tout mon code peut etre y verrez vous un peu plus clair
Sub stdbut() Dim cb As Object Sheets("Accueil").Activate c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: Set cb = ActiveSheet.Shapes(c & i) With cb.Name .Width = 81.75 .Height = 23.25 End With If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 If i > 22 And i < 30 Then cb.Top = 218.25
If i > 29 And i < 37 Then cb.Top = 240 If i > 36 And i < 44 Then cb.Top = 261.75 If i > 43 And i < 51 Then cb.Top = 283.5 If i > 50 And i < 58 Then cb.Top = 306 If i = 4 Or i = 23 Or i = 30 Or i = 37 Or i = 44 Or i = 51 Then cb.Left > 120.75 If i = 15 Or i = 24 Or i = 31 Or i = 38 Or i = 45 Or i = 52 Then cb.Left > 201 If i = 16 Or i = 25 Or i = 32 Or i = 39 Or i = 46 Or i = 53 Then cb.Left > 282 If i = 17 Or i = 26 Or i = 33 Or i = 40 Or i = 47 Or i = 54 Then cb.Left > 363 If i = 18 Or i = 27 Or i = 34 Or i = 41 Or i = 48 Or i = 55 Then cb.Left > 444
fin: Next End Sub "Daniel" a écrit dans le message de news:
Bonjour. Remplace : cb = f & c & i par : Set cb = ActiveSheet.Shapes(c & i) Cordialement. Daniel "Lionel" a écrit dans le message de news: 4634919f$0$27387$
bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 ......
next
Bonsoir,
J'espere que ceci te mettra sur la voie:
Sub CreationBouton()
Dim i As Integer, j As Integer, w As Single, h As Single
w = 81.75 'Largeur des boutons
h = 23.25 'Hauteur des boutons
With Worksheets("Feuil1").Shapes 'Modifier le nom de la feuille
For j = 1 To 6 '6 lignes
For i = 1 To 7 '7 colonnes
.AddOLEObject Left: + (i - 1) * w, Top:6 + (j - 1) *
h, Width:=w, Height:=h, _
ClassType:="Forms.CommandButton.1"
Next
Next
End With
End Sub
Sub SuppressionBoutons()
On Error GoTo Fin 'En supposant qu'il n'y ait pas d'autres controles sur
la feuille
With Worksheets("Feuil1").Shapes 'Modifier le nom de la feuille
Do
.Item(1).Delete
Loop
End With
Fin:
End Sub
Bonne chance,
Manu/
PS: 42 boutons sur une feuille cela vaut peut etre le coup de passer par un
UserForm bien plus facile a manipuler.
"Lionel" <lionel.ma@wanadoo.fr> a écrit dans le message de news:
46350a67$0$27384$ba4acef3@news.orange.fr...
Rebonsoir
Ca ne fonctionne pas ...
il y a 42 boutons 7colonnes de 6 lignes
le but est de les aligner en leur donnant une dimension similaire...
voici donc tout mon code peut etre y verrez vous un peu plus clair
Sub stdbut()
Dim cb As Object
Sheets("Accueil").Activate
c = "CommandButton"
f = "ActiveSheet."
For i = 4 To 57
If i < 4 And i < 15 Then GoTo fin:
If i = 19 Then GoTo fin:
If i = 21 Then GoTo fin:
Set cb = ActiveSheet.Shapes(c & i)
With cb.Name
.Width = 81.75
.Height = 23.25
End With
If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5
If i > 22 And i < 30 Then cb.Top = 218.25
If i > 29 And i < 37 Then cb.Top = 240
If i > 36 And i < 44 Then cb.Top = 261.75
If i > 43 And i < 51 Then cb.Top = 283.5
If i > 50 And i < 58 Then cb.Top = 306
If i = 4 Or i = 23 Or i = 30 Or i = 37 Or i = 44 Or i = 51 Then cb.Left > 120.75
If i = 15 Or i = 24 Or i = 31 Or i = 38 Or i = 45 Or i = 52 Then cb.Left > 201
If i = 16 Or i = 25 Or i = 32 Or i = 39 Or i = 46 Or i = 53 Then cb.Left > 282
If i = 17 Or i = 26 Or i = 33 Or i = 40 Or i = 47 Or i = 54 Then cb.Left > 363
If i = 18 Or i = 27 Or i = 34 Or i = 41 Or i = 48 Or i = 55 Then cb.Left > 444
fin:
Next
End Sub
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
eY1wDimiHHA.596@TK2MSFTNGP06.phx.gbl...
Bonjour.
Remplace :
cb = f & c & i
par :
Set cb = ActiveSheet.Shapes(c & i)
Cordialement.
Daniel
"Lionel" <lionel.ma@wanadoo.fr> a écrit dans le message de news:
4634919f$0$27387$ba4acef3@news.orange.fr...
bonjour
sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture(
workbook_open ) donner leur valeurs height, width et top.
seulement le code suivant me renvoit une erreur 424 je ne vois pas ...
Merci de m'aider
Lionel
Sub stdbut()
c = "CommandButton"
f = "ActiveSheet."
For i = 4 To 57
If i < 4 And i < 15 Then GoTo fin:
If i = 19 Then GoTo fin:
If i = 21 Then GoTo fin:
cb = f & c & i
cb.Width = 81.75
cb.Height = 23.25
If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or
i
Sub CreationBouton() Dim i As Integer, j As Integer, w As Single, h As Single w = 81.75 'Largeur des boutons h = 23.25 'Hauteur des boutons With Worksheets("Feuil1").Shapes 'Modifier le nom de la feuille For j = 1 To 6 '6 lignes For i = 1 To 7 '7 colonnes .AddOLEObject Left: + (i - 1) * w, Top:6 + (j - 1) * h, Width:=w, Height:=h, _ ClassType:="Forms.CommandButton.1" Next Next End With End Sub
Sub SuppressionBoutons() On Error GoTo Fin 'En supposant qu'il n'y ait pas d'autres controles sur la feuille With Worksheets("Feuil1").Shapes 'Modifier le nom de la feuille Do .Item(1).Delete Loop End With Fin: End Sub
Bonne chance,
Manu/
PS: 42 boutons sur une feuille cela vaut peut etre le coup de passer par un UserForm bien plus facile a manipuler.
"Lionel" a écrit dans le message de news: 46350a67$0$27384$
Rebonsoir
Ca ne fonctionne pas ... il y a 42 boutons 7colonnes de 6 lignes le but est de les aligner en leur donnant une dimension similaire... voici donc tout mon code peut etre y verrez vous un peu plus clair
Sub stdbut() Dim cb As Object Sheets("Accueil").Activate c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: Set cb = ActiveSheet.Shapes(c & i) With cb.Name .Width = 81.75 .Height = 23.25 End With If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i
22 Then cb.Top = 196.5 If i > 22 And i < 30 Then cb.Top = 218.25
If i > 29 And i < 37 Then cb.Top = 240 If i > 36 And i < 44 Then cb.Top = 261.75 If i > 43 And i < 51 Then cb.Top = 283.5 If i > 50 And i < 58 Then cb.Top = 306 If i = 4 Or i = 23 Or i = 30 Or i = 37 Or i = 44 Or i = 51 Then cb.Left > 120.75 If i = 15 Or i = 24 Or i = 31 Or i = 38 Or i = 45 Or i = 52 Then cb.Left > 201 If i = 16 Or i = 25 Or i = 32 Or i = 39 Or i = 46 Or i = 53 Then cb.Left > 282 If i = 17 Or i = 26 Or i = 33 Or i = 40 Or i = 47 Or i = 54 Then cb.Left > 363 If i = 18 Or i = 27 Or i = 34 Or i = 41 Or i = 48 Or i = 55 Then cb.Left > 444
fin: Next End Sub "Daniel" a écrit dans le message de news:
Bonjour. Remplace : cb = f & c & i par : Set cb = ActiveSheet.Shapes(c & i) Cordialement. Daniel "Lionel" a écrit dans le message de news: 4634919f$0$27387$
bonjour sur une page j'ai plusieurs boutons auxquels je veux des l'ouverture( workbook_open ) donner leur valeurs height, width et top. seulement le code suivant me renvoit une erreur 424 je ne vois pas ... Merci de m'aider Lionel
Sub stdbut() c = "CommandButton" f = "ActiveSheet." For i = 4 To 57 If i < 4 And i < 15 Then GoTo fin: If i = 19 Then GoTo fin: If i = 21 Then GoTo fin: cb = f & c & i cb.Width = 81.75 cb.Height = 23.25 If i = 4 Or i = 15 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Or i