Ne pas effacer ligne de titre

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

fenec

XLDnaute Impliqué
Bonjour le forum

Besoin une fois de plus de vos lumières

Dans mon code j’essaie en vain de ne pas effacer ma dernière ligne (ligne de titre " total annuel") mais je n’y parviens pas.

J’utilise :
Code:
.Range("B17:O" & .Rows.Count).SpecialCells(xlCellTypeConstants, 23).ClearContents
Mais ca m’efface tout.

J’ai essayé avec -1 :
Code:
.Range("B17:O" & .Rows.Count-1).SpecialCells(xlCellTypeConstants, 23).ClearContents
Mais ca ne fonctionne pas

Cordialement

Fenec
 

Pièces jointes

Re : Ne pas effacer ligne de titre

Re

Et deux variantes qui s'affranchissent de la contrainte précédente
Code:
Sub b()
Dim dl&
With ActiveSheet.UsedRange
    dl = .Rows.Count: .Resize(dl - 1) = Empty
End With
End Sub
Code:
Sub c()
Dim dl&
With ActiveSheet.UsedRange
    dl = Cells(Rows.Count, 1).End(xlUp).Row: .Resize(dl - 1) = Empty
End With
End Sub
 
Re : Ne pas effacer ligne de titre

Bonjour le forum, Stefan373, Staple1600

Stefan373
Ta proposition serait nickel si je devrais effacer toute la plage "b18 :m26 " sauf que je ne veux pas effacer la colonne " k " celle-ci comportant des formules


Staple1600
Tes deux premiers codes sont trop efficace ils m’effacent tout sauf la ligne 27

Pour le dernier il m’efface bien les données mais bloque sur

Erreur d’exécution ‘1004’ :
Erreur défini par l’application ou par l’objet

S’affiche en jaune

Code:
: .Resize(dl - 1) = Empty


Te joint mon exemple avec ton code au cas où je l’utiliserais mal

Cordialement

Fenec
 

Pièces jointes

Re : Ne pas effacer ligne de titre

Bonjour fenec, staple et le forum,

Vous pouvez utiliser cette fonction, qui n'efface pas les formules.

Code:
On Error Resume Next
ActiveSheet.Range("a10:b10",ActiveSheet.Range("a10").End(xlDown)).Offset(-1,0).SpecialCells(xlCellTypeConstants).ClearContents
On Error GoTo 0

A+ Stéfan
 
Re : Ne pas effacer ligne de titre

Bonsoir à tous


Et avec celle-ci?
Code VBA:
Const COLO As String = "K"
Sub d()
Dim dl&, dc&: dc = Cells(1, COLO).Column
With ActiveSheet.UsedRange
dl = Cells(Rows.Count, 1).End(xlUp).Row: .Resize(dl - 1, dc - 1) = Empty
End With
End Sub


Voir copie d'écran ci-dessous (cliques sur l'image pour l'afficher en taille réelle)
fenec.jpg
EDITION: Bonsoir kjin, pourquoi tu dis matinal 😕😕

EDITION II: Bonsoir job75 😉
 

Pièces jointes

  • fenec.jpg
    fenec.jpg
    109.1 KB · Affichages: 65
  • fenec.jpg
    fenec.jpg
    109.1 KB · Affichages: 73
Dernière édition:
Re : Ne pas effacer ligne de titre

Bonsoir à tous,

Ce code fonctionne quel que soit le nombre de lignes à effacer :

Code:
Dim derlig As Long
With Sheets("Banque")
  derlig = .Cells(.Rows.Count, 2).End(xlUp)(0).Row
  If derlig > 16 Then
    On Error Resume Next 's'il n'y a plus de valeurs à effacer
    .Range("B17:O" & derlig).SpecialCells(xlCellTypeConstants).ClearContents
    On Error GoTo 0
  End If
End With

Edit : on peut supprimer les 2 lignes If derlig > 16 Then ... End If s'il est sûr que la ligne 17 n'est jamais supprimée.

A+
 
Dernière édition:
Re : Ne pas effacer ligne de titre

Bonjour le forum, Stefan373, Staple1600,Job75

Stefan373
Merci ca fonctionne


Staple1600

Toujours pas, il m’efface pas les données et bloque aussi sur

Code:
: .Resize(dl - 1, dc - 1) = Empty

Job75

Rien à dire nickel même avec les 2 lignes en moins vu que la ligne 17 ne sera jamais supprimée

Code:
If derlig > 16 Then ... End If

Cordialement

Fenec
 
- 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
7
Affichages
659
Réponses
2
Affichages
600
Réponses
12
Affichages
1 K
Retour