Si colonne A vide entre ligne 1 et 62 alors

Fermé
gogo2896 Messages postés 4 Date d'inscription jeudi 9 août 2018 Statut Membre Dernière intervention 10 août 2018 - 9 août 2018 à 11:45
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 11 août 2018 à 15:16
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
9 août 2018 à 17:09
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 jeudi 9 août 2018 Statut Membre Dernière intervention 10 août 2018
10 août 2018 à 10:38
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 jeudi 9 août 2018 Statut Membre Dernière intervention 10 août 2018
10 août 2018 à 10:40
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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > gogo2896 Messages postés 4 Date d'inscription jeudi 9 août 2018 Statut Membre Dernière intervention 10 août 2018
Modifié le 10 août 2018 à 10:48
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 jeudi 9 août 2018 Statut Membre Dernière intervention 10 août 2018
10 août 2018 à 10:56
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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > gogo2896 Messages postés 4 Date d'inscription jeudi 9 août 2018 Statut Membre Dernière intervention 10 août 2018
10 août 2018 à 10:58
dans une feuille déterminée, toujours la même feuille?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
10 août 2018 à 18:53
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 11 août 2018 à 12:09
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
11 août 2018 à 15:16
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