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

XL 2013 Positionner le curseur dans le textbox

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 !

badraaliou4

XLDnaute Occasionnel
Bonjour,
J'ai un textbox dans ma feuille "login1"
À l'ouverture du classeur j'ai mis ce code dans thisworkbook
VB:
private sub workbook_activate()
sheets("login1").select
end sub
Et dans la feuille feuil1 (login1)
VB:
private sub worksheet_activate()
Application.ScreenUpdating = False
ActiveWindow.DisplayWorkbookTabs = False
    With ActiveWindow
        .DisplayHorizontalScrollBar = False
        .DisplayVerticalScrollBar = False
    End With
ActiveSheet.Unprotect Password:="xxxx"

    Me.textbox1.Height = 19.5
    Me.textbox1.Width = 160.5
    Me.textbox1.Top = 147.75
    Me.textbox1.Left = 431.25
    ActiveSheet.Protect Password:="xxxx", DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.ScreenUpdating = True
me.textbox1.activate
end sub
Mais ça ne marche pas
Il faut chaque fois que je clique sur le textbox.
Ya t'il unE solution pour ça
Merci pour votre aide ...
 

Pièces jointes

Dernière édition:
Bonsoir badraaliou4, sylvanu,

Modifiez la Workbook_Activate :
VB:
Private Sub Workbook_Activate()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets.Add Before:=Sheets(1) 'ajout d'une feuille auxiliaire
Sheets("login1").Activate 'lance la macro Worksheet_Activate
Sheets(1).Delete 'suppression de la feuille auxiliaire
End Sub
A+
 
Re,
MERCI job75, Merci ylvanu
J'ai le code de Job75 au Workbook
Et le code ci dessous au worksheet
Ça marche maintenant très bien ...
Un grand merci à vous...

VB:
private sub worksheet_activate()
Application.ScreenUpdating = False
ActiveWindow.DisplayWorkbookTabs = False
    With ActiveWindow
        .DisplayHorizontalScrollBar = False
        .DisplayVerticalScrollBar = False
    End With
    
    
textbox1.value="" 'retouche
ActiveSheet.Unprotect Password:="xxxx"

    Me.textbox1.Height = 19.5
    Me.textbox1.Width = 160.5
    Me.textbox1.Top = 147.75
    Me.textbox1.Left = 431.25
textbox1.activate ' replace ici
ActiveSheet.Protect Password:="xxxx", DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.ScreenUpdating = True
end sub
 
Bonjour badraaliou4, sylvanu, le forum,

Ma macro du post #6 fonctionne même s'il n'y a que la feuille "login1" dans le classeur.

Mais si la feuille "accueil" est toujours présente on peut simplifier :
VB:
Private Sub Workbook_Activate()
Dim s As Boolean
s = Me.Saved 'mémorise l'état
Application.ScreenUpdating = False
Sheets("accueil").Activate
Sheets("login1").Activate 'lance la macro Worksheet_Activate
If s Then Me.Saved = True 'évite l'invite à la fermeture si aucune modification
End Sub
Edit : avec la dernière ligne on évite le message agaçant quand on referme le fichier sans rien faire.

Bonne journée.
 

Pièces jointes

Dernière édition:
Bonjour badraaliou4, Job,
Job, juste une petite explication sur votre post #10 :
Pourquoi Application.ScreenUpdating = True résoud le problème puique en sortant de la macro, ce booleen sera remis à True ?
 
- 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
17
Affichages
1 K
Réponses
35
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…