Demande d'aide macro

Résolu
Bonjour
Je cherche à écrire une macro dans Excel qui me permette d'éliminer dans un tableau des lignes lorsque la première case est vide. Mon niveau est très modeste ...
J'avais préparé un petit exemple que je joins sous forme d'image. Je veux passer du tableau 1 au tableau 2.
Merci d'avance.

5 réponses

  1. Bonjour
    Merci, cela marche très bien.
    Encore merci
    colt
    PB
    0
    1. 1. Tu te mets dans la feuille à traiter
      2. Alt-F11 pour accéder au module vba de cette feuille
      3. tu colles tout le code
      4. tu reviens dans la feuille
      5. Enregistrer/affecter un raccourci-clavier à la macro
      voir ici
      Enregistrer avec le type .xslm
      7. Lancer la macro avec le raccourci-clavier choisi

      Cdlmnt
      0
      1. Bonjour a tous les deux, et merci pour votre réactivité.
        Je sais, je suis nul ! Mais je ne parviens pas à faire fonctionner cette ligne de programme. Je fais un copier-coller dans Visual Basic, et rien ne se passe. Est-ce que je dois faire autre chose, écrire d'autres indications de démarrage par exemple? Et comment procéder?
        Merci encore pour vos éclairages
        Cdlt
        0
        1. Contributeur
          Bonjour,

          Avec ce code tu devrais obtenir ton objectif
          Public Sub supprimer_lignes()
          Dim lig As Long
          Const deb = 3  ' ligne début tableau
              For lig = ActiveSheet.UsedRange.Rows.Count To deb Step -1
                  If Cells(lig, 1).Value = "" Then Rows(lig).Delete
              Next lig
          End Sub
          
          0
          1. Bonjour

            Par "éliminer", tu entends supprimer ou bien masquer ?

            Const cotest As String = "A"
            Const lideb As Long = 4
            
            Public Sub OK()
            Dim li As Long, lifin As Long
            lifin = Range(cotest & Rows.Count).End(xlUp).Row
            Application.ScreenUpdating = False
            For li = lifin To lideb Step -1
              ' pour supprimer les lignes
              If Range(cotest & li).Value = "" Then Rows(li).Delete
              ' pour masquer les lignes
              ' If Range(cotest & li).Value = "" Then Rows(li).Hidden = True
            Next li
            End Sub

            Cdlmnt
            0