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

probleme end(XlToRight)

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

Calimero33

Guest
Bonjour je souhaite insérer une nouvelle ligne au dessus de ma ligne sélectionnée en recopiant les formules. Mon problème est que la formule End(xlToright) s'arrête à la première colonne vide or mon tableau continue après. Comment puis-je faire pour trouver la dernière cellule non vide ?

Merci de votre aide 🙂
 
Re : probleme end(XlToRight)

Voila le code que j'utilise pour inserer une ligne au dessus de la ligne selectionnée. Le problème réside au niveau de la fonction End(XltoRight) que j'ai mis en rouge.

Sub NouvelleLigneAuDessus()
' Insère une ligne au-dessus de la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient

Dim ZtNumLig As Integer
Dim ZtDerCol As Integer

ActiveCell.EntireRow.Insert
ActiveCell.Range("A2").Select
ZtNumLig = ActiveCell.Row
ZtDerCol = Cells(ActiveCell.Row, 1).End(xlToRight).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig - 1, 1), Cells(ZtNumLig - 1, ZtDerCol))

Application.ScreenUpdating = False
For I = 1 To ZtDerCol
If Not Cells(ZtNumLig - 1, I).HasFormula Then
Cells(ZtNumLig - 1, I).ClearContents
End If
Next I
ActiveCell.Offset(-1, 0).Select
End Sub
 
Re : probleme end(XlToRight)

SAlut, voila le code que j'utilise pour inserer une ligne au dessus de la ligne selectionné. Le problème réside sur la fonction End(xltoright) qui s'arrete à la premiere colonne vide au lieu de s'arreter à la derniere colonne non vide.

Sub NouvelleLigneAuDessus()
' Insère une ligne au-dessus de la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient

Dim ZtNumLig As Integer
Dim ZtDerCol As Integer

ActiveCell.EntireRow.Insert
ActiveCell.Range("A2").Select
ZtNumLig = ActiveCell.Row
ZtDerCol = Cells(ActiveCell.Row, 1).End(xlToRight).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig - 1, 1), Cells(ZtNumLig - 1, ZtDerCol))

Application.ScreenUpdating = False
For I = 1 To ZtDerCol
If Not Cells(ZtNumLig - 1, I).HasFormula Then
Cells(ZtNumLig - 1, I).ClearContents
End If
Next I
ActiveCell.Offset(-1, 0).Select
End Sub
 
- 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
12
Affichages
407
Réponses
5
Affichages
909
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…