XL 2013 Positionner le curseur dans le textbox

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

  • Classeur1.xlsm
    19.8 KB · Affichages: 7
Dernière édition:

job75

XLDnaute Barbatruc
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+
 

badraaliou4

XLDnaute Occasionnel
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
 

job75

XLDnaute Barbatruc
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

  • Classeur(1).xlsm
    22.1 KB · Affichages: 5
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 634
Messages
2 111 435
Membres
111 136
dernier inscrit
Ahmad Ibnou