Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vbA, comment placer un bouton ???

10 réponses
Avatar
LE TROLL
Bonjour,

On m'a donné la procédure sous-citée, mais elle ne fait pas exactement
ce que j'aurais voulu, pouvez-vous m'indiquer les modification à faire,
voici ce que je voudrais:

Actuellement le bouton est en colonne L et se déplace (verticalement) si je
clique sur la colonne d'avant K (sur un plan horizontal)...

Ce que je voudrais:
-1- Mettre une couleur vert fluo au bouton ???
-2- Que le bouton ne puisse être déplacé ???
-3- Que le bouton soit en colonne K ???
-4- Que le bouton soit toujours à la dernière ligne écrite colonne K (pour
identifier la dernière ligne écrite, on peut se baser sur (colonne A <> "")
???

Svp, ne connaissant pas le vbA, je vous demande des formules qui en les
collant fonctionnent, et si éventuellement il y a des ajustement à faire, de
terminer le code :o)

Merci beaucoup.

Voici le code macro vbA du bouton en question:

Sub Worksheet_SelectionChange(ByVal Target As Range) ' bouton
Dim B As Object
'
On Error Resume Next
If Not Intersect(Target, Columns("K")) Is Nothing Then
With Worksheets("Banque")
Set B = .Shapes("Bouton 1")
If Err <> 0 Then
Err = 0
Set B = .Buttons.Add(1, 1, 1, 1)
With B
.Name = "Bouton 1"
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Height = Target.RowHeight
.Width = Target.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom de la macro attachée à
déterminer
End With
Else
With B
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Left = Target.Offset(, 1).Left
.Width = Target.Offset(, 1).Width
End With
End If
End With
End If
Set B = Nothing
End Sub

--
ng75 arobase noos.fr
------------------------------------------------------------
LE TROLL, éleveur de trolls depuis César, qui disait :
Avec une hache, celui qui tient le manche a toujours raison !

10 réponses

Avatar
anomymousA
Bonjour

Je suis désolé, je ne comprends pas tout dans ta demande. Peux-tu être plus
précis , STP ?
Merci de m'éclairer même si je ne suis pas sur de pouvoir, in fine, t'aider.


Bonjour,

On m'a donné la procédure sous-citée, mais elle ne fait pas exactement
ce que j'aurais voulu, pouvez-vous m'indiquer les modification à faire,
voici ce que je voudrais:

Actuellement le bouton est en colonne L et se déplace (verticalement) si je
clique sur la colonne d'avant K (sur un plan horizontal)...

Ce que je voudrais:
-1- Mettre une couleur vert fluo au bouton ???
-2- Que le bouton ne puisse être déplacé ???
-3- Que le bouton soit en colonne K ???
-4- Que le bouton soit toujours à la dernière ligne écrite colonne K (pour
identifier la dernière ligne écrite, on peut se baser sur (colonne A <> "")
???

Svp, ne connaissant pas le vbA, je vous demande des formules qui en les
collant fonctionnent, et si éventuellement il y a des ajustement à faire, de
terminer le code :o)

Merci beaucoup.

Voici le code macro vbA du bouton en question:

Sub Worksheet_SelectionChange(ByVal Target As Range) ' bouton
Dim B As Object
'
On Error Resume Next
If Not Intersect(Target, Columns("K")) Is Nothing Then
With Worksheets("Banque")
Set B = .Shapes("Bouton 1")
If Err <> 0 Then
Err = 0
Set B = .Buttons.Add(1, 1, 1, 1)
With B
.Name = "Bouton 1"
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Height = Target.RowHeight
.Width = Target.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom de la macro attachée à
déterminer
End With
Else
With B
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Left = Target.Offset(, 1).Left
.Width = Target.Offset(, 1).Width
End With
End If
End With
End If
Set B = Nothing
End Sub

--
ng75 arobase noos.fr
------------------------------------------------------------
LE TROLL, éleveur de trolls depuis César, qui disait :
Avec une hache, celui qui tient le manche a toujours raison !






Avatar
LE TROLL
Salut, ok je vais tenter de préciser:

Tu as vu la précédent en fin de mon message, sinon il faut la mirer,
lol:

Cette procédure actuellement fait que j'ai un bouton qui:
- Est couleur "Windows system"
- Est en colonne L
- Se déplace à la hauteur de la ligne ou je click, mais dans la colonne +1
Par exp: si je clique en K10, le bouton vient en L10...

Bon, ben je voudrais changer certains éléments:
-1- Mettre une couleur vert fluo au bouton ???
-2- Que le bouton ne puisse être déplacé par mon action ???
-3- Que le bouton soit en colonne K (au lieu de L actuellement) ???
-4- Que le bouton soit toujours à la dernière ligne écrite colonne K (pour
identifier la dernière ligne écrite, on peut se baser sur (colonne A <> "")

Par exp, voici ce que ça devrait donner, mais le principe uniquement, je
n'ai pas le vocabulaire du vbA:

Sub Worksheet_SelectionChange(ByVal Target As Range)
bouton.couleur_fond = vert_fluo
..., etc...
end sub
'
sub feuilleX_activate()
call feuilleX_change
end sub
'
sub feuilleX_change()
do while A(ligne(i)) <> ""
if i = 1 then: i = 2
bouton_à = K(ligne(i-1))
exit do
loop
end sub
-----------


"anomymousA" a écrit dans le message
de news:
Bonjour

Je suis désolé, je ne comprends pas tout dans ta demande. Peux-tu être
plus
précis , STP ?
Merci de m'éclairer même si je ne suis pas sur de pouvoir, in fine,
t'aider.


Bonjour,

On m'a donné la procédure sous-citée, mais elle ne fait pas
exactement
ce que j'aurais voulu, pouvez-vous m'indiquer les modification à faire,
voici ce que je voudrais:

Actuellement le bouton est en colonne L et se déplace (verticalement) si
je
clique sur la colonne d'avant K (sur un plan horizontal)...

Ce que je voudrais:
-1- Mettre une couleur vert fluo au bouton ???
-2- Que le bouton ne puisse être déplacé ???
-3- Que le bouton soit en colonne K ???
-4- Que le bouton soit toujours à la dernière ligne écrite colonne K
(pour
identifier la dernière ligne écrite, on peut se baser sur (colonne A <>
"")
???

Svp, ne connaissant pas le vbA, je vous demande des formules qui en
les
collant fonctionnent, et si éventuellement il y a des ajustement à faire,
de
terminer le code :o)

Merci beaucoup.

Voici le code macro vbA du bouton en question:

Sub Worksheet_SelectionChange(ByVal Target As Range) ' bouton
Dim B As Object
'
On Error Resume Next
If Not Intersect(Target, Columns("K")) Is Nothing Then
With Worksheets("Banque")
Set B = .Shapes("Bouton 1")
If Err <> 0 Then
Err = 0
Set B = .Buttons.Add(1, 1, 1, 1)
With B
.Name = "Bouton 1"
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Height = Target.RowHeight
.Width = Target.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom de la macro
attachée à
déterminer
End With
Else
With B
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Left = Target.Offset(, 1).Left
.Width = Target.Offset(, 1).Width
End With
End If
End With
End If
Set B = Nothing
End Sub

--
ng75 arobase noos.fr
------------------------------------------------------------
LE TROLL, éleveur de trolls depuis César, qui disait :
Avec une hache, celui qui tient le manche a toujours raison !








Avatar
Huggy
procédure de michdenis légèrement modifiée,
à tester et revenir si pbs
------------------------------------------------------
Sub Worksheet_SelectionChange(ByVal Targuette As Range)
Dim B As Object
Dim LastLine As Long

On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row

If Not Intersect(Targuette, Columns("A")) Is Nothing
Then
With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add
(ClassType:="Forms.CommandButton.1")

With .CommandButton1
.Caption = "Bouton 1"
.BackColor = &H80FF80
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.6
.Width = Targuette.Offset(, 1).Width: MsgBox
Err
.OnAction = "Ce_que_fera_le_bouton" ' Nom de
la macro attachée à déterminer

End With
Else
With B
.Caption = "Bouton 1"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.Height = Targuette.RowHeight * 1.6
End With
End If
End With
End If
Set B = Nothing
End Sub
-------------------------------------------------------

en toute amitié
Avatar
Huggy
à la ligne
.Width = Targuette.Offset(, 1).Width: MsgBox
Err, tu peux supprimer ": MsgBox Err" et fais attention
aux retours de ligne

-----Original Message-----
procédure de michdenis légèrement modifiée,
à tester et revenir si pbs
------------------------------------------------------
Sub Worksheet_SelectionChange(ByVal Targuette As Range)
Dim B As Object
Dim LastLine As Long

On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row

If Not Intersect(Targuette, Columns("A")) Is Nothing
Then
With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add
(ClassType:="Forms.CommandButton.1")

With .CommandButton1
.Caption = "Bouton 1"
.BackColor = &H80FF80
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.6
.Width = Targuette.Offset(, 1).Width: MsgBox
Err
.OnAction = "Ce_que_fera_le_bouton" ' Nom de
la macro attachée à déterminer

End With
Else
With B
.Caption = "Bouton 1"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.Height = Targuette.RowHeight * 1.6
End With
End If
End With
End If
Set B = Nothing
End Sub
-------------------------------------------------------

en toute amitié
.



Avatar
anomymousA
re,

bon ,pour toutes tes demandes sauf la couleur fluo, tu peux utiliser la
procédure suivante. Pour la couleur, je suis désolé, mais j'ai Excel 2000 et
depuis cette version les Buttons sont remplacés par des controles activeX et
je connais pas les propriétes de Buttons ( pour le controle Active X ce que
tu demandes peut être fait par la propriéte backcolor).

derligne = Range("A65536").End(xlUp).Row
TOPCELL = ActiveSheet.Cells(derligne, 11).Top
LEFTCELL = ActiveSheet.Cells(derligne, 11).Left
HEIGHTCELL = ActiveSheet.Cells(derligne, 11).Height
WIDTHCELL = ActiveSheet.Cells(derligne, 11).Width

On Error Resume Next
If Not Intersect(Target, Columns("K")) Is Nothing Then
With worksheets("Banque")
Set B = .Shapes("Bouton 1")
If Err <> 0 Then
Err = 0
Set B = .Buttons.Add(1, 1, 1, 1)
With B
.Name = "Bouton 1"
.Top = TOPCELL
.Left = LEFTCELL
.Height = HEIGHTCELL
.Width = WIDTHCELL
.OnAction = "Ce_que_fera_le_bouton" '
End With
Else
With B
.Top = TOPCELL
.Left = LEFTCELL
.Height = HEIGHTCELL
.Width = WIDTHCELL
End With
End If
End With
End If
Set B = Nothing

Espère que ca pourra te dépanner.

A+ si tu as besoin


Salut, ok je vais tenter de préciser:

Tu as vu la précédent en fin de mon message, sinon il faut la mirer,
lol:

Cette procédure actuellement fait que j'ai un bouton qui:
- Est couleur "Windows system"
- Est en colonne L
- Se déplace à la hauteur de la ligne ou je click, mais dans la colonne +1
Par exp: si je clique en K10, le bouton vient en L10...

Bon, ben je voudrais changer certains éléments:
-1- Mettre une couleur vert fluo au bouton ???
-2- Que le bouton ne puisse être déplacé par mon action ???
-3- Que le bouton soit en colonne K (au lieu de L actuellement) ???
-4- Que le bouton soit toujours à la dernière ligne écrite colonne K (pour
identifier la dernière ligne écrite, on peut se baser sur (colonne A <> "")

Par exp, voici ce que ça devrait donner, mais le principe uniquement, je
n'ai pas le vocabulaire du vbA:

Sub Worksheet_SelectionChange(ByVal Target As Range)
bouton.couleur_fond = vert_fluo
..., etc...
end sub
'
sub feuilleX_activate()
call feuilleX_change
end sub
'
sub feuilleX_change()
do while A(ligne(i)) <> ""
if i = 1 then: i = 2
bouton_à = K(ligne(i-1))
exit do
loop
end sub
-----------


"anomymousA" a écrit dans le message
de news:
Bonjour

Je suis désolé, je ne comprends pas tout dans ta demande. Peux-tu être
plus
précis , STP ?
Merci de m'éclairer même si je ne suis pas sur de pouvoir, in fine,
t'aider.


Bonjour,

On m'a donné la procédure sous-citée, mais elle ne fait pas
exactement
ce que j'aurais voulu, pouvez-vous m'indiquer les modification à faire,
voici ce que je voudrais:

Actuellement le bouton est en colonne L et se déplace (verticalement) si
je
clique sur la colonne d'avant K (sur un plan horizontal)...

Ce que je voudrais:
-1- Mettre une couleur vert fluo au bouton ???
-2- Que le bouton ne puisse être déplacé ???
-3- Que le bouton soit en colonne K ???
-4- Que le bouton soit toujours à la dernière ligne écrite colonne K
(pour
identifier la dernière ligne écrite, on peut se baser sur (colonne A <>
"")
???

Svp, ne connaissant pas le vbA, je vous demande des formules qui en
les
collant fonctionnent, et si éventuellement il y a des ajustement à faire,
de
terminer le code :o)

Merci beaucoup.

Voici le code macro vbA du bouton en question:

Sub Worksheet_SelectionChange(ByVal Target As Range) ' bouton
Dim B As Object
'
On Error Resume Next
If Not Intersect(Target, Columns("K")) Is Nothing Then
With Worksheets("Banque")
Set B = .Shapes("Bouton 1")
If Err <> 0 Then
Err = 0
Set B = .Buttons.Add(1, 1, 1, 1)
With B
.Name = "Bouton 1"
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Height = Target.RowHeight
.Width = Target.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom de la macro
attachée à
déterminer
End With
Else
With B
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Left = Target.Offset(, 1).Left
.Width = Target.Offset(, 1).Width
End With
End If
End With
End If
Set B = Nothing
End Sub

--
ng75 arobase noos.fr
------------------------------------------------------------
LE TROLL, éleveur de trolls depuis César, qui disait :
Avec une hache, celui qui tient le manche a toujours raison !













Avatar
LE TROLL
Merci, en fait ta réponse s'étant inscrite en second, j'ai pris la 1ere
(Huggy), qui marche à quelques détail prêt, merci encore, @+ bye Joe :o)
--------

"anomymousA" a écrit dans le message
de news:
re,

bon ,pour toutes tes demandes sauf la couleur fluo, tu peux utiliser la
procédure suivante. Pour la couleur, je suis désolé, mais j'ai Excel 2000
et
depuis cette version les Buttons sont remplacés par des controles activeX
et
je connais pas les propriétes de Buttons ( pour le controle Active X ce
que
tu demandes peut être fait par la propriéte backcolor).

derligne = Range("A65536").End(xlUp).Row
TOPCELL = ActiveSheet.Cells(derligne, 11).Top
LEFTCELL = ActiveSheet.Cells(derligne, 11).Left
HEIGHTCELL = ActiveSheet.Cells(derligne, 11).Height
WIDTHCELL = ActiveSheet.Cells(derligne, 11).Width

On Error Resume Next
If Not Intersect(Target, Columns("K")) Is Nothing Then
With worksheets("Banque")
Set B = .Shapes("Bouton 1")
If Err <> 0 Then
Err = 0
Set B = .Buttons.Add(1, 1, 1, 1)
With B
.Name = "Bouton 1"
.Top = TOPCELL
.Left = LEFTCELL
.Height = HEIGHTCELL
.Width = WIDTHCELL
.OnAction = "Ce_que_fera_le_bouton" '
End With
Else
With B
.Top = TOPCELL
.Left = LEFTCELL
.Height = HEIGHTCELL
.Width = WIDTHCELL
End With
End If
End With
End If
Set B = Nothing

Espère que ca pourra te dépanner.

A+ si tu as besoin


Salut, ok je vais tenter de préciser:

Tu as vu la précédent en fin de mon message, sinon il faut la mirer,
lol:

Cette procédure actuellement fait que j'ai un bouton qui:
- Est couleur "Windows system"
- Est en colonne L
- Se déplace à la hauteur de la ligne ou je click, mais dans la colonne
+1
Par exp: si je clique en K10, le bouton vient en L10...

Bon, ben je voudrais changer certains éléments:
-1- Mettre une couleur vert fluo au bouton ???
-2- Que le bouton ne puisse être déplacé par mon action ???
-3- Que le bouton soit en colonne K (au lieu de L actuellement) ???
-4- Que le bouton soit toujours à la dernière ligne écrite colonne K
(pour
identifier la dernière ligne écrite, on peut se baser sur (colonne A <>
"")

Par exp, voici ce que ça devrait donner, mais le principe uniquement, je
n'ai pas le vocabulaire du vbA:

Sub Worksheet_SelectionChange(ByVal Target As Range)
bouton.couleur_fond = vert_fluo
..., etc...
end sub
'
sub feuilleX_activate()
call feuilleX_change
end sub
'
sub feuilleX_change()
do while A(ligne(i)) <> ""
if i = 1 then: i = 2
bouton_à = K(ligne(i-1))
exit do
loop
end sub
-----------


"anomymousA" a écrit dans le
message
de news:
Bonjour

Je suis désolé, je ne comprends pas tout dans ta demande. Peux-tu être
plus
précis , STP ?
Merci de m'éclairer même si je ne suis pas sur de pouvoir, in fine,
t'aider.


Bonjour,

On m'a donné la procédure sous-citée, mais elle ne fait pas
exactement
ce que j'aurais voulu, pouvez-vous m'indiquer les modification à
faire,
voici ce que je voudrais:

Actuellement le bouton est en colonne L et se déplace (verticalement)
si
je
clique sur la colonne d'avant K (sur un plan horizontal)...

Ce que je voudrais:
-1- Mettre une couleur vert fluo au bouton ???
-2- Que le bouton ne puisse être déplacé ???
-3- Que le bouton soit en colonne K ???
-4- Que le bouton soit toujours à la dernière ligne écrite colonne K
(pour
identifier la dernière ligne écrite, on peut se baser sur (colonne A
<>
"")
???

Svp, ne connaissant pas le vbA, je vous demande des formules qui
en
les
collant fonctionnent, et si éventuellement il y a des ajustement à
faire,
de
terminer le code :o)

Merci beaucoup.

Voici le code macro vbA du bouton en question:

Sub Worksheet_SelectionChange(ByVal Target As Range) ' bouton
Dim B As Object
'
On Error Resume Next
If Not Intersect(Target, Columns("K")) Is Nothing Then
With Worksheets("Banque")
Set B = .Shapes("Bouton 1")
If Err <> 0 Then
Err = 0
Set B = .Buttons.Add(1, 1, 1, 1)
With B
.Name = "Bouton 1"
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Height = Target.RowHeight
.Width = Target.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom de la macro
attachée à
déterminer
End With
Else
With B
.Top = Target.Top
.Left = Target.Offset(, 1).Left
.Left = Target.Offset(, 1).Left
.Width = Target.Offset(, 1).Width
End With
End If
End With
End If
Set B = Nothing
End Sub

--
ng75 arobase noos.fr
------------------------------------------------------------
LE TROLL, éleveur de trolls depuis César, qui disait :
Avec une hache, celui qui tient le manche a toujours raison !















Avatar
LE TROLL
Bonsoir,

Merci, c'est quasiment ça, juste deux petits trucs:

-1- Au départ le bouton ne s'affiche pas tout seul (il lui faut un écriture
nouvelle), est-il possible de rajouter que si le bouton n'existe pas, il
existe, à la place prévu, ou par défaut (si rien n'est écrit), même colonne
évidemment, mais ligne = 1 ???

-2- Problème d'affichage écran, la largeur ça va, la hauteur aussi, mais la
police dedans, elle peut à peine s'afficher, je ne sais pas pourquoi, le
bouton semble très restrictif en hauteur pour le texte, y a-t-il une façon
de palier à ça, par exemple mettre du 10 en couRier new ???

J'ai fait quelques modifs de police et de hauteur du bouton (1,2 =
hauteur cellule), donc pour que nous soyons sur la même longueur d'onde,
voici le code sous-cité--->

Sub Worksheet_SelectionChange(ByVal Targuette As Range) ' HUGGY
Dim B As Object
Dim LastLine As Long
'
On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row
If Not Intersect(Targuette, Columns("A")) Is Nothing Then
With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add(ClassType:="Forms.CommandButton.1")
With .CommandButton1
.BackColor = &H80FF80
.FontName = "courier new"
.FontSize = 6
.FontBold = True
.Caption = "SOLDE"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.2
.Width = Targuette.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom dela macro attachée à
déterminer
End With
Else
With B
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.FontName = "courier new"
.FontSize = 6
.FontBold = True
.Caption = "SOLDE"
.Height = Targuette.RowHeight * 1.2
End With
End If
End With
End If
Set B = Nothing
End Sub
--------------

"Huggy" a écrit dans le message de news:
094c01c4dd3a$f3811060$
procédure de michdenis légèrement modifiée,
à tester et revenir si pbs
------------------------------------------------------
Sub Worksheet_SelectionChange(ByVal Targuette As Range)
Dim B As Object
Dim LastLine As Long

On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row

If Not Intersect(Targuette, Columns("A")) Is Nothing
Then
With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add
(ClassType:="Forms.CommandButton.1")

With .CommandButton1
.Caption = "Bouton 1"
.BackColor = &H80FF80
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.6
.Width = Targuette.Offset(, 1).Width: MsgBox
Err
.OnAction = "Ce_que_fera_le_bouton" ' Nom de
la macro attachée à déterminer

End With
Else
With B
.Caption = "Bouton 1"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.Height = Targuette.RowHeight * 1.6
End With
End If
End With
End If
Set B = Nothing
End Sub
-------------------------------------------------------

en toute amitié
Avatar
LE TROLL
Bonsoir,

Merci, c'est quasiment ça, juste deux petits trucs:

-1- Au départ le bouton ne s'affiche pas tout seul (il lui faut un écriture
nouvelle), est-il possible de rajouter que si le bouton n'existe pas, il
existe, à la place prévu, ou par défaut (si rien n'est écrit), même colonne
évidemment, mais ligne = 1 ???

-2- Problème d'affichage écran, la largeur ça va, la hauteur aussi, mais la
police dedans, elle peut à peine s'afficher, je ne sais pas pourquoi, le
bouton semble très restrictif en hauteur pour le texte, y a-t-il une façon
de palier à ça, par exemple mettre du 10 en couRier new ???

J'ai fait quelques modifs de police et de hauteur du bouton (1,2 hauteur cellule), donc pour que nous soyons sur la même longueur d'onde,
voici le code sous-cité--->

Sub Worksheet_SelectionChange(ByVal Targuette As Range) ' HUGGY
Dim B As Object
Dim LastLine As Long
'
On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row
If Not Intersect(Targuette, Columns("A")) Is Nothing Then
With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add(ClassType:="Forms.CommandButton.1")
With .CommandButton1
.BackColor = &H80FF80
.FontName = "courier new"
.FontSize = 6
.FontBold = True
.Caption = "SOLDE"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.2
.Width = Targuette.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom dela macro attachée à
déterminer
End With
Else
With B
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.FontName = "courier new"
.FontSize = 6
.FontBold = True
.Caption = "SOLDE"
.Height = Targuette.RowHeight * 1.2
End With
End If
End With
End If
Set B = Nothing
End Sub
--------------

"Huggy" a écrit dans le message de news:
048801c4dd3c$6fd31fe0$
à la ligne
.Width = Targuette.Offset(, 1).Width: MsgBox
Err, tu peux supprimer ": MsgBox Err" et fais attention
aux retours de ligne

-----Original Message-----
procédure de michdenis légèrement modifiée,
à tester et revenir si pbs
------------------------------------------------------
Sub Worksheet_SelectionChange(ByVal Targuette As Range)
Dim B As Object
Dim LastLine As Long

On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row

If Not Intersect(Targuette, Columns("A")) Is Nothing
Then
With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add
(ClassType:="Forms.CommandButton.1")

With .CommandButton1
.Caption = "Bouton 1"
.BackColor = &H80FF80
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.6
.Width = Targuette.Offset(, 1).Width: MsgBox
Err
.OnAction = "Ce_que_fera_le_bouton" ' Nom de
la macro attachée à déterminer

End With
Else
With B
.Caption = "Bouton 1"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.Height = Targuette.RowHeight * 1.6
End With
End If
End With
End If
Set B = Nothing
End Sub
-------------------------------------------------------

en toute amitié
.



Avatar
Huggy
bonsoir,
en fait tu l'as vu la première partie de la procédure,(
si le bouton n'existe pas, il est créé ) fonctionne mal.
Le bouton est bien créé, mais la mise à jour des
propriétés ne se fait pas. Grâce à "On error next" ça
passe... L'erreur se situe sur
l'instruction "With .CommandButton1", mais je n'ai pas
les idées suffisamment claires ce soir pour la débugger.
Quant au problème de lisibilité du texte, c'est pour ça
que j'avais mis le coeff 1.6

-----Original Message-----
Bonsoir,

Merci, c'est quasiment ça, juste deux petits trucs:

-1- Au départ le bouton ne s'affiche pas tout seul (il
lui faut un écriture

nouvelle), est-il possible de rajouter que si le bouton
n'existe pas, il

existe, à la place prévu, ou par défaut (si rien n'est
écrit), même colonne

évidemment, mais ligne = 1 ???

-2- Problème d'affichage écran, la largeur ça va, la
hauteur aussi, mais la

police dedans, elle peut à peine s'afficher, je ne sais
pas pourquoi, le

bouton semble très restrictif en hauteur pour le texte,
y a-t-il une façon

de palier à ça, par exemple mettre du 10 en couRier
new ???


J'ai fait quelques modifs de police et de hauteur du
bouton (1,2 =

hauteur cellule), donc pour que nous soyons sur la même
longueur d'onde,

voici le code sous-cité--->

Sub Worksheet_SelectionChange(ByVal Targuette As
Range) ' HUGGY

Dim B As Object
Dim LastLine As Long
'
On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row
If Not Intersect(Targuette, Columns("A")) Is Nothing
Then

With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add
(ClassType:="Forms.CommandButton.1")

With .CommandButton1
.BackColor = &H80FF80
.FontName = "courier new"
.FontSize = 6
.FontBold = True
.Caption = "SOLDE"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.2
.Width = Targuette.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom dela
macro attachée à

déterminer
End With
Else
With B
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.FontName = "courier new"
.FontSize = 6
.FontBold = True
.Caption = "SOLDE"
.Height = Targuette.RowHeight * 1.2
End With
End If
End With
End If
Set B = Nothing
End Sub
--------------

"Huggy" a écrit dans le message
de news:

094c01c4dd3a$f3811060$
procédure de michdenis légèrement modifiée,
à tester et revenir si pbs
------------------------------------------------------
Sub Worksheet_SelectionChange(ByVal Targuette As Range)
Dim B As Object
Dim LastLine As Long

On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row

If Not Intersect(Targuette, Columns("A")) Is Nothing
Then
With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add
(ClassType:="Forms.CommandButton.1")

With .CommandButton1
.Caption = "Bouton 1"
.BackColor = &H80FF80
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.6
.Width = Targuette.Offset(, 1).Width: MsgBox
Err
.OnAction = "Ce_que_fera_le_bouton" ' Nom de
la macro attachée à déterminer

End With
Else
With B
.Caption = "Bouton 1"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.Height = Targuette.RowHeight * 1.6
End With
End If
End With
End If
Set B = Nothing
End Sub
-------------------------------------------------------

en toute amitié


.



Avatar
LE TROLL
Lol, ok pour dmain, mais j'ai essayé dans VB, le texte est clair à
bien plus petit en bouton, donc je présume que ce doit être possible .???
bonne nuit :o)
----------

"Huggy" a écrit dans le message de news:
064001c4dd6d$e88cc590$
bonsoir,
en fait tu l'as vu la première partie de la procédure,(
si le bouton n'existe pas, il est créé ) fonctionne mal.
Le bouton est bien créé, mais la mise à jour des
propriétés ne se fait pas. Grâce à "On error next" ça
passe... L'erreur se situe sur
l'instruction "With .CommandButton1", mais je n'ai pas
les idées suffisamment claires ce soir pour la débugger.
Quant au problème de lisibilité du texte, c'est pour ça
que j'avais mis le coeff 1.6

-----Original Message-----
Bonsoir,

Merci, c'est quasiment ça, juste deux petits trucs:

-1- Au départ le bouton ne s'affiche pas tout seul (il
lui faut un écriture

nouvelle), est-il possible de rajouter que si le bouton
n'existe pas, il

existe, à la place prévu, ou par défaut (si rien n'est
écrit), même colonne

évidemment, mais ligne = 1 ???

-2- Problème d'affichage écran, la largeur ça va, la
hauteur aussi, mais la

police dedans, elle peut à peine s'afficher, je ne sais
pas pourquoi, le

bouton semble très restrictif en hauteur pour le texte,
y a-t-il une façon

de palier à ça, par exemple mettre du 10 en couRier
new ???


J'ai fait quelques modifs de police et de hauteur du
bouton (1,2 >hauteur cellule), donc pour que nous soyons sur la même

longueur d'onde,
voici le code sous-cité--->

Sub Worksheet_SelectionChange(ByVal Targuette As
Range) ' HUGGY

Dim B As Object
Dim LastLine As Long
'
On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row
If Not Intersect(Targuette, Columns("A")) Is Nothing
Then

With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add
(ClassType:="Forms.CommandButton.1")

With .CommandButton1
.BackColor = &H80FF80
.FontName = "courier new"
.FontSize = 6
.FontBold = True
.Caption = "SOLDE"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.2
.Width = Targuette.Offset(, 1).Width
.OnAction = "Ce_que_fera_le_bouton" ' Nom dela
macro attachée à

déterminer
End With
Else
With B
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.FontName = "courier new"
.FontSize = 6
.FontBold = True
.Caption = "SOLDE"
.Height = Targuette.RowHeight * 1.2
End With
End If
End With
End If
Set B = Nothing
End Sub
--------------

"Huggy" a écrit dans le message
de news:

094c01c4dd3a$f3811060$
procédure de michdenis légèrement modifiée,
à tester et revenir si pbs
------------------------------------------------------
Sub Worksheet_SelectionChange(ByVal Targuette As Range)
Dim B As Object
Dim LastLine As Long

On Error Resume Next
LastLine = Range("A65536").End(xlUp).Row

If Not Intersect(Targuette, Columns("A")) Is Nothing
Then
With Worksheets("Banque")
Set B = .CommandButton1
If Err <> 0 Then
Err = 0
Set B = .OLEObjects.Add
(ClassType:="Forms.CommandButton.1")

With .CommandButton1
.Caption = "Bouton 1"
.BackColor = &H80FF80
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Height = Targuette.RowHeight * 1.6
.Width = Targuette.Offset(, 1).Width: MsgBox
Err
.OnAction = "Ce_que_fera_le_bouton" ' Nom de
la macro attachée à déterminer

End With
Else
With B
.Caption = "Bouton 1"
.Top = Range("K" & LastLine).Top
.Left = Range("K" & LastLine).Left
.Width = Targuette.Offset(, 1).Width
.BackColor = &H80FF80
.Height = Targuette.RowHeight * 1.6
End With
End If
End With
End If
Set B = Nothing
End Sub
-------------------------------------------------------

en toute amitié


.