Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Position UserFrom

  • Initiateur de la discussion Initiateur de la discussion Hulk
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hulk

XLDnaute Barbatruc
Hello tout le monde 🙂

Voilà un petit souci sur lequel je tourne depuis un moment sans trouver la combine 😡

J'ai un UserForm qui par défaut s'ouvre au centre de l'écran, et je souhaiterais pouvoir modifier cette position de départ si je clique sur un bouton...

Le mieux est de voir le fichier joint, ma demande est plus précise.

Merci d'avance pour votre aide !
 

Pièces jointes

Re : Position UserFrom

Hello Bruno 🙂

Impec Bruno !

Pourtant il me semblait avoir fait un truc du genre avec un Label invisible... sans réussite 🙄

Bref, heureusement que t'es là 😎

Merci encore et bon week à toi et tous !
 
Re : Position UserFrom

Salut gilbert_RGI

Très très bonne idée 😉

Voici le code pour Mister Hulk
Code:
Option Explicit' Fonctions API pour lire et écrire dans les fichier INI
Public Declare Function GetPrivateProfileString Lib "kernel32" _
        Alias "GetPrivateProfileStringA" _
        (ByVal lpApplicationName As String, _
        ByVal lpKeyName As Any, _
        ByVal lpDefault As String, _
        ByVal lpReturnedString As String, _
        ByVal nSize As Long, _
        ByVal lpFileName As String) As Long


Public Declare Function WritePrivateProfileString Lib "kernel32" _
        Alias "WritePrivateProfileStringA" _
        (ByVal lpApplicationName As String, _
        ByVal lpKeyName As Any, _
        ByVal lpString As Any, _
        ByVal lpFileName As String) As Long

 Public Function EcrireIni(stFicIni As String, stSection As String, stKey As String, stValeur As String)
' Ecriture d'une valeur dans un fichier INI
' stSection est le la partie designée entre crochets ([option] par exemple)
' stKey est le nom de la clé à récupérer (COULEUR=... par exemple)
' stValeur est la valeur à stocker
  Dim FicIni As String, lgRep As Long
  FicIni = ThisWorkbook.Path & "\" & stFicIni
  ' Mise en place du buffer de lecture
  lgRep = WritePrivateProfileString(stSection, stKey, stValeur, FicIni)
  If lgRep <= 0 Then
    ' Erreur au niveau du fichier INI
    Dim iFile As Integer
    iFile = FreeFile
    Open FicIni For Output As #iFile
    Print #iFile, "[" & stSection & "]"
    Print #iFile, stKey & "=" & stValeur
    Print #iFile, Chr(10)
    Close #iFile
    'EcrireIni = "Erreur"
    Exit Function
  End If
End Function

Public Function LireIni(stFicIni As String, stSection As String, stKey As String)
' Lecture d'une valeur dans un fichier INI
' stSection est le la partie designée entre crochets ([option] par exemple)
' stKey est le nom de la clé à récupérer (COULEUR=... par exemple)
Dim stBuf As String, FicIni As String, lgBuf As Long, lgRep As Long
FicIni = ThisWorkbook.Path & "\" & stFicIni
' Mise en place du buffer de lecture
stBuf = Space$(255)
lgBuf = 255
lgRep = GetPrivateProfileString(stSection, stKey, "", stBuf, lgBuf, FicIni)
If lgRep <= 0 Then
    ' Erreur au niveau du fichier INI
    'LireIni = "Erreur"
    Exit Function
End If
LireIni = Trim$(Left$(stBuf, lgRep))
End Function

Pour tester
Code:
Sub Test()
  EcrireIni "Test.ini", "SECTION1", "Clé1", "Valeur1"
  MsgBox LireIni("Test.ini", "SECTION1", "Clé1"), vbInformation, "RESULTAT"
End Sub

A+
 
Dernière modification par un modérateur:
Re : Position UserFrom

pour la base des registres pas très compliqué non plus

pour la sauvegarde employer le mot : SaveSetting

pour la lecture : GetAllSettings

pour detruire une entrée ou toutes autres données : DeleteSetting

ces mots sont bien expliqués dans l'aide 😎

attention tout de même
 
Re : Position UserFrom

Re, Slt Gilbert 🙂

Oula, binz tout ça...

Y a t-il un avantage probant à utiliser cette méthode plutôt que ta p'tite combine Bruno ?

pour les données dans la base des registres impliquent que le fichier soit ouvert sur l'ordi manipulant le fichier
pour les données sur un ini ou txt impliquent que le fichier suive le xl..
pour les données sur une page sup du fichier augmentent un peu le poids du fichier
 
Re : Position UserFrom

Re,

Ok merci Gilbert... Il y a aussi le fait qu'on ne peut, par mégarde, effacer les données sur la feuille...

J'verrais bien ce qui me convient le mieux.

Merci infiniment à vous deux !
 
Re : Position UserFrom

Re,

L'utilisation d'un fichier INI est très simple et moins risqué (à mon gout)
Et pas de risque d'effacer les données, tu peux également masquer le fichier INI (propriété windows)

pour les données sur un ini ou txt impliquent que le fichier suive le xl..
Pas nécessairement, dans le code donné c'est le cas, mais le chemin d'accès peut-être tout autre
😉

A+
 
Dernière modification par un modérateur:
Re : Position UserFrom

un exemple

Code:
Sub ecrire_BR()
    SaveSetting "MyApp", "Startup", "Top_donnee", 75
    'SaveSetting "MyApp", "Startup", "Left_donnee", 50
End Sub
Sub lire_BR()
On Error GoTo suite
'HKEY_CURRENT_USER\Software\VB and VBA Program Settings\MyApp\Startup
    MySettings = GetAllSettings(appname:="MyApp", section:="Startup")
    MsgBox MySettings(0, 1)
    MsgBox MySettings(1, 1)
    Exit Sub
suite:
    MsgBox "Pas de données"
End Sub
Sub detruit_entree_BR()
On Error Resume Next
    DeleteSetting "MyApp", "Startup"
    DeleteSetting "MyApp"
End Sub
😎
 
Re : Position UserFrom

Bonjour à tous,

Voilà j'ai un User juste pour visulaliser des codes.
Et j'ai ça avec mon bouton "visu des codes"

Private Sub CommandButton1_Click()
With UserForm1 ' position de l'userform dans la feuille saisie
.Show 0 ' permet de travaillé sur la feuille
.Left = 720 ' position à droite de la fenêtre
.Top = 120 ' position verticale de l'user par rapport à la feuille
End With
End Sub
Alors évidement je me suis un amusée à chercher les positions.
Si cela peut aider.

Amicalement
MM
 
Re : Position UserFrom


Ok mais c'est temporaire à la prochaine ouverture l'usf ne sera plus à la place après le déplacement 🙄
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
23
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…