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

[Résolu] Sélectionner dernière ligne insérée

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

micie1509

XLDnaute Junior
Bonjour à vous tous,

J'ai un tableau qui a quelques 10 000 lignes et j'ai ce code VBA qui copie ma première ligne et l'insère sous la ligne sélectionnée. Le tout fonctionne très bien, mais une fois les lignes insérées, le focus retourne sur la première ligne. Est-ce que c'est possible de faire en sorte que le focus demeure sur la première ou la dernière ligne insérée plutôt que de retourner tout en haut du tableau ?

Merci beaucoup pour votre aide.

Code:
Sub Ligne_inserer()

Dim n, L As Range
    Set L = ActiveCell.EntireRow
    Dim u As String
      
    
        n = InputBox("Combien de ligne voulez-vous insérer ?", "Choix", 1)    'nombre de lignes à insérer
        
        If Not IsNumeric(n) Then Exit Sub
         
        Rows("14:1058").Select
        
        ActiveSheet.Outline.ShowLevels RowLevels:=2
        
        Rows("1:1").Select
       

        L(2).Resize(n).Insert
       
        Rows(1).Copy L(2).Resize(n)
        L(2).Resize(n).RowHeight = L(n - 1).RowHeight
        

End Sub
 

Pièces jointes

Dernière édition:
Re : Sélectionner dernière ligne insérée

Bonjour micie,

avec ce code:
Code:
Sub Ligne_inserer()
ligne = ActiveCell.Row
Dim n, L As Range
    Set L = ActiveCell.EntireRow
    Dim u As String
    
  
    
        n = InputBox("Combien de ligne voulez-vous insérer ?", "Choix", 1)    'nombre de lignes à insérer
        
        If Not IsNumeric(n) Then Exit Sub
         
        Rows("14:1058").Select
        

        ActiveSheet.Outline.ShowLevels RowLevels:=2
        
        Rows("1:1").Select
       

        L(2).Resize(n).Insert
       
        Rows(1).Copy L(2).Resize(n)
        L(2).Resize(n).RowHeight = L(n - 1).RowHeight
        

        Rows(ligne + 1).Select
        
        
   
    

End Sub

à+
Philippe
 
Re : Sélectionner dernière ligne insérée

Bonjour

- Supprimer la ligne
Code:
Rows("1:1").Select
qui force le positionnement sur la première ligne

- Rajouter
Code:
Rows(L.Row + n).Select 'on se positionne sur la dernière ligne copiée
après
Code:
  L(2).Resize(n).RowHeight = L(n - 1).RowHeight


- Par ailleurs, les deux lignes suivantes pourraient être supprimées vu l'exemple fourni.
Code:
Rows("14:1058").Select                     
ActiveSheet.Outline.ShowLevels RowLevels:=2

Bonne suite
 
- 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
5
Affichages
837
Réponses
7
Affichages
344
Réponses
5
Affichages
871
Réponses
10
Affichages
758
Réponses
11
Affichages
947
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…