Ouverture feuilles d'un classeur

  • Initiateur de la discussion Initiateur de la discussion courtillon
  • 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 !

C

courtillon

Guest
Bonjour à tous et toutes,

J'ai ce soir, 2 demandes d'aide.

1/Ma feuille 4 étant ma feuille 'Menu ' j'ai ce code pour que mon classeur s'ouvre automatiquement sur elle en premier:

Private Sub Workbook_Open()
Feuil4.Select
End Sub

Je voudrais rajouter aussi un code pour que toutes mes autres feuilles s'ouvrent en CELLULE A1 de facon à voir ma feuille x ou y entierement visibles dés l'ouverture.

2/Sur cet autre code je voudrais rajouter une ligne de façon aprés recopie des données que la ligne source A5:J5 s'éfface:

Sub recopie_des_données()
Dim WsSource As Worksheet
Dim WsCible As Worksheet
Dim MaLigneSource As Range
Dim MaligneCible As Range
Dim derlgn As Integer
Set WsSource = Worksheets('client')
Set WsCible = Worksheets('Gestion Client')
Set MaLigneSource = WsSource.Range('A5:J5')

With WsCible
derlgn = .Range('A3000').End(xlUp).Row + 1
Set MaligneCible = .Range(.Cells(derlgn, 1), .Cells(derlgn, 10))
MaligneCible = MaLigneSource.Value

'''''ici peut être AVEC : Sheets('Client').[A5:J5].ClearContents

End With
End sub

Merci de votre aide qui par ailleurs m'a déja bien fait avancé dans mon projet
 
Salut

pour ta première question:

Private Sub Worksheet_Activate()
Range('A1').Activate
End Sub

dans chaque feuille ou cela est souhaité me semble fonctionner

pour la seconde, désolé...

ya'v

quoique ...

worksheets('clients').Range('A5:J5').select
selection.clearcontents

mais c'est de mémoire, alors très risqué et pas garanti !!!

re ya'v

Message édité par: ya_v_ka, à: 04/10/2005 01:23
 
Bonsoir courtillon, ya_v_ka,

En complément de la réponse de ya_v_ka,

Pour la 1ère question :
Pour ne pas avoir à recopier la macro sur chaque module de feuille, on peut aussi copier cette procédure unique dans le module de code de l'objet ThisWorkbook :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      'Pour toutes les feuilles sauf la feuille 'Feuil4'
      If Sh.Name <> 'Feuil4' Then Range('A1').Select
End Sub

Pour la 2ème question : (pourquoi ne pas avoir essayé comme tu l'indiques en commentaire ?)
Sub recopie_des_données()
Dim WsSource As Worksheet
Dim WsCible As Worksheet
Dim MaLigneSource As Range
Dim MaligneCible As Range
Dim derlgn As Integer
      Set WsSource = Worksheets('client')
      Set WsCible = Worksheets('Gestion Client')
      Set MaLigneSource = WsSource.Range('A5:J5')
     
      With WsCible
            derlgn = .Range('A65536').End(xlUp).Row + 1
            Set MaligneCible = .Range(.Cells(derlgn, 1), .Cells(derlgn, 10))
            MaligneCible.Value = MaLigneSource.Value
            MaLigneSource.ClearContents
      End With
End Sub
Cordialement,
 
Hello

Merci MdF, je me demandais justement pourquoi il n'y avait pas la possibilité de mettre ca en une fois... bin elle existe pffffff :angry:

Sinon je suis quand même content de ne pas prendre sur les doigts, tu vois, grace à vos conseils, ca commence à venir...

ya'v
 
🙂 Bonjour,
Encore une fois merci à vous deux.Ce forum est unique :
Il ne faut pas attendre longtemps pour avoir une réponse.A ma question 2 ,j'avais bien essayé mais je mettais deux fois With.
Il n'y a que trois semaines que j'apprends le VB ( je suis un nouveau retraité ) ET vous êtes tous formidables 😉 😉
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
454
Réponses
5
Affichages
909
Réponses
4
Affichages
730
Réponses
10
Affichages
661
Réponses
9
Affichages
884
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
1 K
Retour