OVH Cloud OVH Cloud

Bouton mobil

3 réponses
Avatar
HA
Bonjour et bonne année a tous

1ere question de l'année

je voudrais sur une feuille de calcul Excel qu'un bouton (VBA) soit fixe
lorsque je fais défilé la feuille.

Merci de me donner le code

3 réponses

Avatar
padbra
Salut,
je crois que tu peux trouver ton bohneur dans les nouveaux fichiers en
téléchargement sur excelabo

padbra

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

Bonjour et bonne année a tous

1ere question de l'année

je voudrais sur une feuille de calcul Excel qu'un bouton (VBA) soit fixe
lorsque je fais défilé la feuille.

Merci de me donner le code




Avatar
Balain
Bonsoir

Je fais cela en figeant la première ligne avec fenetre > figer les
volets puis en déposant le bouton à l'intérieur des cellules figées.
Tu pourrais aussi imaginer une solution avec une userform "modeless" qui
contiendrait le bouton que l'utilisateur peut déplacer où il le souhaite
sur son écran.

Balain

"padbra" a écrit dans le message de
news:
| Salut,
| je crois que tu peux trouver ton bohneur dans les nouveaux fichiers en
| téléchargement sur excelabo
|
| padbra
|
| "HA" a écrit dans le message de news:
|
| > Bonjour et bonne année a tous
| >
| > 1ere question de l'année
| >
| > je voudrais sur une feuille de calcul Excel qu'un bouton (VBA) soit
fixe
| > lorsque je fais défilé la feuille.
| >
| > Merci de me donner le code
| >
| >
|
|
Avatar
JLuc
Salut HA,


Bonjour et bonne année a tous

1ere question de l'année

je voudrais sur une feuille de calcul Excel qu'un bouton (VBA) soit
fixe lorsque je fais défilé la feuille.

Merci de me donner le code


C'est pas de moi, voir signature a la fin :
une adaptation simplifiée d'une autre combine.
Conditions de fonctionnement:
- les boutons ou objets doivent être tous du même type(CommandButton ou
Bouton ou case à cocher,
etc..)

- les boutons ou objets doivent avoir un suffixe de 1 à N ( dans l'exemple
CommandButton1 à 8)

Les 5 premières lignes(5 variables) peuvent être modifiées.

Autrement , je peux transmettre un fichier *:xls qui gère tous les types
objets,
avec choix des objets à traités.

'******************* dans le module de la feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
DesBoutonsQuiSuivent
End Sub

'******************* dans un module standard
Sub DesBoutonsQuiSuivent()

nb_boutons = 8 ' --->> à adapter

enLigne = False ' --->> mettre False si boutons en colonne

espace = 10 ' --->> espacement des boutons

decalCol = 3 ' --->> 1 = 1er bouton sur la 1ère colonne visible

decalLi = 5 ' --->> 1 = 1er bouton sur la 1ère ligne visible

ReDim dimensionBouton(1 To nb_boutons)
Set plg = ActiveWindow.VisibleRange
colPlg = plg.Columns.Count
y = plg.Item(decalCol).Column
x = plg.Item(colPlg * decalLi).Row
x1 = Cells(x, y).Left
y1 = Cells(x, y).Top

' --->> le <<CommandButton>> est à adapter
With ActiveSheet.Shapes("CommandButton" & 1)
If enLigne = True Then 'si les boutons sont sur 1 ligne
.Left = x1
.Top = y1
dimensionBouton(1) = .Width
Else 'si les boutons sont sur 1 colonne
.Left = x1
.Top = y1
dimensionBouton(1) = .Height
End If
End With

For i = 2 To nb_boutons
' --->> le <<CommandButton>> est à adapter
With ActiveSheet.Shapes("CommandButton" & i)
If enLigne = True Then 'si les boutons sont sur 1 ligne
For i2 = 1 To UBound(dimensionBouton)
dimen = dimen + dimensionBouton(i2)
Next
.Left = x1 + dimen + ((i - 1) * espace)
.Top = y1
dimensionBouton(i) = .Width
Else 'si les boutons sont sur 1 colonne
For i2 = 1 To UBound(dimensionBouton)
dimen = dimen + dimensionBouton(i2)
Next
.Left = x1
.Top = y1 + dimen + ((i - 1) * espace)
dimensionBouton(i) = .Height
End If
dimen = 0
End With
Next
Set plg = Nothing
End Sub ' ajf

'**************************************
--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}