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
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 | > | > | |
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" <padbra@suiquapad.bra> a écrit dans le message de
news:eTorkcU1DHA.3220@tk2msftngp13.phx.gbl...
| Salut,
| je crois que tu peux trouver ton bohneur dans les nouveaux fichiers en
| téléchargement sur excelabo
|
| padbra
|
| "HA" <ha@free.fr> a écrit dans le message de news:
| udoxRTU1DHA.2544@TK2MSFTNGP10.phx.gbl...
| > 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
| >
| >
|
|
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 | > | > | |
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
Jean-François Aubert {Vaudois de la Côte Lémanique}
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
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