j'ai besoin pour, une apli, qu'un userform non nodal s'affiche dès
l'activation d'une feuille et reste à l'ecran pendant tous les divers
traitements. Ca, je sais faire, mais je bute sur l'affichage du userform.
Je n'ai pas trouver comment positionner à un endroit precis ce
formulaire (en l'occurence, en haut à droite de la feuille).
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
papou
Bonjour Chez Misange code pour faire ça : http://www.excelabo.net/xl/userforms.php#positionuserform
Cordialement Pascal
"westdl" a écrit dans le message de news: dv40v3$6kn$
Bonjour le groupe
Voila le problème:
j'ai besoin pour, une apli, qu'un userform non nodal s'affiche dès l'activation d'une feuille et reste à l'ecran pendant tous les divers traitements. Ca, je sais faire, mais je bute sur l'affichage du userform.
Je n'ai pas trouver comment positionner à un endroit precis ce formulaire (en l'occurence, en haut à droite de la feuille).
Dans l'aide de VBA je n'ai rien vue de probant.
est ce possible ?
d'avance merci
Alain
Bonjour
Chez Misange code pour faire ça :
http://www.excelabo.net/xl/userforms.php#positionuserform
Cordialement
Pascal
"westdl" <westdl@wanadoo.fr> a écrit dans le message de news:
dv40v3$6kn$1@news.rd.francetelecom.fr...
Bonjour le groupe
Voila le problème:
j'ai besoin pour, une apli, qu'un userform non nodal s'affiche dès
l'activation d'une feuille et reste à l'ecran pendant tous les divers
traitements. Ca, je sais faire, mais je bute sur l'affichage du userform.
Je n'ai pas trouver comment positionner à un endroit precis ce formulaire
(en l'occurence, en haut à droite de la feuille).
Bonjour Chez Misange code pour faire ça : http://www.excelabo.net/xl/userforms.php#positionuserform
Cordialement Pascal
"westdl" a écrit dans le message de news: dv40v3$6kn$
Bonjour le groupe
Voila le problème:
j'ai besoin pour, une apli, qu'un userform non nodal s'affiche dès l'activation d'une feuille et reste à l'ecran pendant tous les divers traitements. Ca, je sais faire, mais je bute sur l'affichage du userform.
Je n'ai pas trouver comment positionner à un endroit precis ce formulaire (en l'occurence, en haut à droite de la feuille).
Dans l'aide de VBA je n'ai rien vue de probant.
est ce possible ?
d'avance merci
Alain
michdenis
Bonjour Westdl,
Voici un exemple :
La section des barres d'outils sert à calculer la hauteur qu'occupe les barres d'outils ... cet espace est additionner un peu plus loin lorsque la propriété .top et .left du formulaire sont précisées.
Évidemment, tu peux remplacer le nom de la feuille et l'adresse de la cellule de référence ....
'---------------------------- Dim X as Integer, Z as integer For Each Cmd In Application.CommandBars If Cmd.Visible = True And Cmd.Position = msoBarTop Then X = X + Cmd.Height Z = 20 End If Next If Application.DisplayFormulaBar = True Then X = X + 15 End If If ActiveWindow.DisplayHeadings = True Then X = X + 15 y = 20 End If
With Userform1 .Startupposition = 0 .top = Worksheets("Feuil1").Range("A1").top + X .Left = Worksheets("Feuil1").Range("A1").Offset(, 1).Left + y .Show End With '----------------------------
Salutations!
"westdl" a écrit dans le message de news: dv40v3$6kn$ Bonjour le groupe
Voila le problème:
j'ai besoin pour, une apli, qu'un userform non nodal s'affiche dès l'activation d'une feuille et reste à l'ecran pendant tous les divers traitements. Ca, je sais faire, mais je bute sur l'affichage du userform.
Je n'ai pas trouver comment positionner à un endroit precis ce formulaire (en l'occurence, en haut à droite de la feuille).
Dans l'aide de VBA je n'ai rien vue de probant.
est ce possible ?
d'avance merci
Alain
Bonjour Westdl,
Voici un exemple :
La section des barres d'outils sert à calculer la hauteur qu'occupe
les barres d'outils ... cet espace est additionner un peu plus loin
lorsque la propriété .top et .left du formulaire sont précisées.
Évidemment, tu peux remplacer le nom de la feuille et l'adresse
de la cellule de référence ....
'----------------------------
Dim X as Integer, Z as integer
For Each Cmd In Application.CommandBars
If Cmd.Visible = True And Cmd.Position = msoBarTop Then
X = X + Cmd.Height
Z = 20
End If
Next
If Application.DisplayFormulaBar = True Then
X = X + 15
End If
If ActiveWindow.DisplayHeadings = True Then
X = X + 15
y = 20
End If
With Userform1
.Startupposition = 0
.top = Worksheets("Feuil1").Range("A1").top + X
.Left = Worksheets("Feuil1").Range("A1").Offset(, 1).Left + y
.Show
End With
'----------------------------
Salutations!
"westdl" <westdl@wanadoo.fr> a écrit dans le message de news: dv40v3$6kn$1@news.rd.francetelecom.fr...
Bonjour le groupe
Voila le problème:
j'ai besoin pour, une apli, qu'un userform non nodal s'affiche dès
l'activation d'une feuille et reste à l'ecran pendant tous les divers
traitements. Ca, je sais faire, mais je bute sur l'affichage du userform.
Je n'ai pas trouver comment positionner à un endroit precis ce
formulaire (en l'occurence, en haut à droite de la feuille).
La section des barres d'outils sert à calculer la hauteur qu'occupe les barres d'outils ... cet espace est additionner un peu plus loin lorsque la propriété .top et .left du formulaire sont précisées.
Évidemment, tu peux remplacer le nom de la feuille et l'adresse de la cellule de référence ....
'---------------------------- Dim X as Integer, Z as integer For Each Cmd In Application.CommandBars If Cmd.Visible = True And Cmd.Position = msoBarTop Then X = X + Cmd.Height Z = 20 End If Next If Application.DisplayFormulaBar = True Then X = X + 15 End If If ActiveWindow.DisplayHeadings = True Then X = X + 15 y = 20 End If
With Userform1 .Startupposition = 0 .top = Worksheets("Feuil1").Range("A1").top + X .Left = Worksheets("Feuil1").Range("A1").Offset(, 1).Left + y .Show End With '----------------------------
Salutations!
"westdl" a écrit dans le message de news: dv40v3$6kn$ Bonjour le groupe
Voila le problème:
j'ai besoin pour, une apli, qu'un userform non nodal s'affiche dès l'activation d'une feuille et reste à l'ecran pendant tous les divers traitements. Ca, je sais faire, mais je bute sur l'affichage du userform.
Je n'ai pas trouver comment positionner à un endroit precis ce formulaire (en l'occurence, en haut à droite de la feuille).
Dans l'aide de VBA je n'ai rien vue de probant.
est ce possible ?
d'avance merci
Alain
westdl
Bonjour Westdl,
Voici un exemple :
La section des barres d'outils sert à calculer la hauteur qu'occupe les barres d'outils ... cet espace est additionner un peu plus loin lorsque la propriété .top et .left du formulaire sont précisées.
Évidemment, tu peux remplacer le nom de la feuille et l'adresse de la cellule de référence ....
'---------------------------- Dim X as Integer, Z as integer For Each Cmd In Application.CommandBars If Cmd.Visible = True And Cmd.Position = msoBarTop Then X = X + Cmd.Height Z = 20 End If Next If Application.DisplayFormulaBar = True Then X = X + 15 End If If ActiveWindow.DisplayHeadings = True Then X = X + 15 y = 20 End If
With Userform1 .Startupposition = 0 .top = Worksheets("Feuil1").Range("A1").top + X .Left = Worksheets("Feuil1").Range("A1").Offset(, 1).Left + y .Show End With '----------------------------
Salutations!
Un grand merci à vous deux !
Alain
Bonjour Westdl,
Voici un exemple :
La section des barres d'outils sert à calculer la hauteur qu'occupe
les barres d'outils ... cet espace est additionner un peu plus loin
lorsque la propriété .top et .left du formulaire sont précisées.
Évidemment, tu peux remplacer le nom de la feuille et l'adresse
de la cellule de référence ....
'----------------------------
Dim X as Integer, Z as integer
For Each Cmd In Application.CommandBars
If Cmd.Visible = True And Cmd.Position = msoBarTop Then
X = X + Cmd.Height
Z = 20
End If
Next
If Application.DisplayFormulaBar = True Then
X = X + 15
End If
If ActiveWindow.DisplayHeadings = True Then
X = X + 15
y = 20
End If
With Userform1
.Startupposition = 0
.top = Worksheets("Feuil1").Range("A1").top + X
.Left = Worksheets("Feuil1").Range("A1").Offset(, 1).Left + y
.Show
End With
'----------------------------
La section des barres d'outils sert à calculer la hauteur qu'occupe les barres d'outils ... cet espace est additionner un peu plus loin lorsque la propriété .top et .left du formulaire sont précisées.
Évidemment, tu peux remplacer le nom de la feuille et l'adresse de la cellule de référence ....
'---------------------------- Dim X as Integer, Z as integer For Each Cmd In Application.CommandBars If Cmd.Visible = True And Cmd.Position = msoBarTop Then X = X + Cmd.Height Z = 20 End If Next If Application.DisplayFormulaBar = True Then X = X + 15 End If If ActiveWindow.DisplayHeadings = True Then X = X + 15 y = 20 End If
With Userform1 .Startupposition = 0 .top = Worksheets("Feuil1").Range("A1").top + X .Left = Worksheets("Feuil1").Range("A1").Offset(, 1).Left + y .Show End With '----------------------------