Si colonne A vide entre ligne 1 et 62 alors

gogo2896 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je voudrais que si la colonne A est vide entre la ligne 1 et la ligne 62, toutes les autres celullles sur ces lignes soient vides.

Merci d'avance.
A voir également:

3 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Dans le module de la Feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, [A1:A62]) Is Nothing Then Exit Sub
  If WorksheetFunction.CountA([A1:A62]) = 0 Then
    Application.ScreenUpdating = False
    [1:62].Clear
    Application.ScreenUpdating = True
  End If
End Sub
0
gogo2896 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour Monsieur, merci beaucoup pour votre réponse néanmoins cela ne fonctionne pas car il faudrait que je séléctionne d'abord la feuille spécifier car la maccro sera activé dans une autre feuille. Pourriez vous me montrer comment cela se fait ? merci d'avance.
0
gogo2896 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
PS :
il faudrait également que cette maccro est un nom de façon à ce que je puisse l'affecter ensuite car la je ne peux pas l'affecter a quelque chose. Merci d'avance.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > gogo2896 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour, en fait, tu voudrais une macro qui vide toutes les lignes 1 à 62 d'une feuille donnée, toujours la même feuille, si il n'y a rien dans la colonne A entre la ligne 1 et la ligne 62?
ou bien tu veux vider ligne par ligne?
n'hésites pas à expliquer, à donner des exemples.
0
gogo2896 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, je voudrais une maccro qui vide les lignes 1 a 62 en effet seulement si il n'y a rien dans les colonnes 1 a 62 mais donc en effet ligne par ligne. Par exemple, rien en A1, donc ligne vide, puis A2 remplie donc ligne pleine, etc...
Merci d'avance
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > gogo2896 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
dans une feuille déterminée, toujours la même feuille?
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Re,

En attendant ta réponse, voici une méthode :
Sub SupprimesLesLignesQuandAestVide()
Dim F As Worksheet
Dim R As Range
Dim T As Variant
Dim L As Byte

  Set F = ActiveSheet 'En attendant de connaitre la bonne feuille
  T = Application.Transpose(F.Range("A1:A62").Value)
  For L = LBound(T) To UBound(T)
    If IsEmpty(T(L)) Then
      If R Is Nothing Then
        Set R = F.Rows(L)
      Else
        Set R = Union(R, F.Rows(L))
      End If
    End If
  Next L
  If Not R Is Nothing Then
    R.Select
    If MsgBox("Supprimer les lignes sélectionnées ?", vbYesNo + vbDefaultButton2) = vbYes Then R.Delete
  End If
  F.Range("A1").Activate
End Sub
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Sub virerligvide()
Dim Derlig As Long

Derlig = Columns("A").Find("*", , , , , xlPrevious).Row

If Application.CountIf(Range("A1:A" & Derlig), "") > 0 Then
Range("A1:A" & Derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
End Sub


Si on veut supprimer les données au lieu de supprimer la ligne remplacer delete par clear

https://mon-partage.fr/f/ZWpzjT9k/

0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour Michel,

J'avais bien pensé à SpecialCells mais le code ne fonctionne pas si la plage est vide, et c'est pas jusqu'à la dernière ligne de la plage utilisée mais uniquement en A1:A62.
0