Supprimer colonne a partir d'une ligne

Bonjour,

Question bête comment fait-on en Vba pour supprimer les donnés d'une colonne à partir d'une ligne? pour supprimer une colonne Range("A: A"). Clear mais à partir de la ligne 25 jusqu’à la fin du tableau?

Cordialement,

Bob

Bonjour Bob,

je te propose ce code VBA :

Option Explicit

Sub Essai()
  Dim dlig&: Application.ScreenUpdating = 0
  'dernière ligne, selon la colonne A
  dlig = Cells(Rows.Count, 1).End(xlUp).Row
  If dlig > 24 Then Range("A25:A" & dlig).ClearContents
End Sub

utilise .ClearContents plutôt que .Clear pour effacer seulement les données et pas aussi les formats de cellule

dhany

Re,

Cela marche nickel par contre histoire de ne pas utiliser plusieurs macros pour rien, tu peux aussi m'en faire une qui prend aussi la colonne B de la même façon? je pensai y arriver tous seul en ayant un code mais toujours pas.

Merci pour le .ClearContents

Cordialement,

Bob

suffit de mettre : If dlig > 24 Then Range("A25:B" & dlig).ClearContents


le code VBA complet est donc :

Option Explicit

Sub Essai()
  Dim dlig&: Application.ScreenUpdating = 0
  'dernière ligne, selon la colonne A
  dlig = Cells(Rows.Count, 1).End(xlUp).Row
  If dlig > 24 Then Range("A25:B" & dlig).ClearContents
End Sub

ça effacera donc les 2 colonnes A et B, lignes 25 à dernière ligne utilisée

dhany

Je n'y arrive pas j'ai mis jusqu'à F et j'ai rempli plein de cellule au hasard il ne supprime pas toutes les données.

le Option Explicit es t’il vraiment important dans ce cas?

c'est bien mieux de mettre Option Explicit car ça oblige à déclarer toutes les variables ; ainsi, toute variable utilisée sans avoir été déclarée au préalable est détectée par la compilation, qui bloque à ce stade ; idem pour une variable mal orthographiée, donc non reconnue ; avantage supplémentaire : certaines erreurs de type de variables sont aussi détectées ; par exemple, une variable numérique ne peut pas contenir du texte.


si c'est des colonnes A à F :

Option Explicit

Sub Essai()
  Dim dlig&: Application.ScreenUpdating = 0
  'dernière ligne, selon la colonne A
  dlig = Cells(Rows.Count, 1).End(xlUp).Row
  If dlig > 24 Then Range("A25:F" & dlig).ClearContents
End Sub

dhany

Alors du coup si je remplis à cellule A32 et B43 il ne supprime pas la B43 cela vient de moi peut être?

Merci pour le Option Explicit en effet cela peut être très utile

là je pige pas, car pour B43 : la colonne B est bien comprise dans les colonnes A à F, et la ligne 43 est bien comprise dans les lignes 25 à dernière ligne ; mais vérifier quand même si la dernière ligne selon la colonne A est supérieur ou égal à 43.

attention : j'ai changé la 2ème lettre : Range("A25:F" & dlig).ClearContents

dhany

j'ai bien ressayé en copiant ton code dans un nouveau classeur vierge mais cela ne marche toujours pas, il s'arrête avant car il considère qu'après dans la cellule A40 par exemple, il y a plus de valeur du coup il ne va pas jusqu'à la ligne 43?

tu a écrit :

il s'arrête avant car il considère qu'après dans la cellule A40 par exemple, il y a plus de valeur du coup il ne va pas jusqu'à la ligne 43?

c'est probablement ça ; dans ce cas, ce sera sans doute plus judicieux de calculer la dernière ligne selon une autre colonne, par exemple selon la colonne B :

Option Explicit

Sub Essai()
  Dim dlig&: Application.ScreenUpdating = 0
  'dernière ligne, selon la colonne B
  dlig = Cells(Rows.Count, 2).End(xlUp).Row
  If dlig > 24 Then Range("A25:F" & dlig).ClearContents
End Sub

si tu veux essayer selon la colonne C, c'est :

Option Explicit

Sub Essai()
  Dim dlig&: Application.ScreenUpdating = 0
  'dernière ligne, selon la colonne C
  dlig = Cells(Rows.Count, 3).End(xlUp).Row
  If dlig > 24 Then Range("A25:F" & dlig).ClearContents
End Sub

or pour faire ce choix, il faut voir comment est ton fichier.


pour t'aider davantage, il faudrait ton classeur (sans données confidentielles) ; pour cela, tu peux utiliser le bouton « Ajouter des fichiers » qui est situé juste sous la fenêtre d'édition de ton post.

dhany

Mon classeur n'est pas encore construit avec cette disposition mais dans le futur ce sera le cas, je vais faire en fonction de la colonne avec la ligne la plus grande.

Merci a toi

ok, alors je te souhaite bonne continuation pour la suite de ton projet.

dhany

Rechercher des sujets similaires à "supprimer colonne partir ligne"