Suprimer certaines colonnes d'une ligne

Résolu
julien -  
 julien -
Bonjour,

Je voudrais savoir comment supprimer certaines colonnes d'une ligne , je m'explique :

Je demande de supprimer une ligne pour une condition données , jusque là tout va bien .

Le problème c'est que dans ma colonne Q et R je ne dois pas supprimer le contenu puisque je m'en sert pour une maccro .

Pouvez vous m'aider à supprimer toute la ligne sauf la colonne Q et R ?

voici mon code :

Public Sub lignes_vides()

derniereLigne = Range("A" & Rows.Count).End(xlUp).Row

Dim i As Integer
For i = 881 To 1 Step -1
If Worksheets("Feuil_historique").Cells(i, 2) = "" Then Worksheets("Feuil_historique").Rows(i).Delete
Next i

End Sub

MERCI

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    si j'ai bien compris votre demande:

    Sub efface()
        Dim TQR
        'adapter le nom de feuille
        With Worksheets("feuil1")
            'derniere cellule non vide colonne Q
            derlig = .Range("Q" & Rows.Count).End(xlUp).Row
            'mise en memoire plage Q-R
            TQR = .Range("Q1:R" & derlig)
            'RAZ de la feuille
            .Cells.ClearContents
            'restitution des donnees Q-R
            .Range("Q1:R" & derlig) = TQR
        End With
    End Sub
    
    0
    1. julien
       
      Tout d'abord je te remercie de ta rapidité , d'autre part je pense m'être mal exprimé ..
      Les données que j'ai rentré en colonne (Q1;Q347) et (R1;R47) sont des valeurs fixes qui sont présentes avant exécution de ma maccro.

      Le problème c'est que dans une de mes maccros j'efface la ligne entière si une case vide est détecté dans une certaine colonne alors que je voudrais n'effacer que de A à P et de R à V , en bref que malgrés ma suppression de ligne les données présente dans Q et R ne s'efface en aucun cas.

      Peut-être un peu plus clair , quoique ..
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > julien
       
      Re,
      Effacer ou supprimer telle est la question ?
      Ai compris, mais pas ce soir, demain si personne d'autre vous donne réponse

      À+
      0
    3. julien
       
      Salut f894009 ,

      C'est bien supprimer la ligne et non remplacé puisque je dois avoir une maccros de démasquage pour enlever mes filtres et cela ne doit surtout pas afficher ces lignes inutiles.. Merci de ton aide

      A+
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > julien
       
      Bonjour,
      Ok, je regarde la chose
      À+
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,

      Sub Supprime_Ligne()
      
          Application.ScreenUpdating = False
          'adapter le nom de feuille
          With Worksheets("feuil1")
              'derniere cellule non vide utilisee sur la feuille
              derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
              For L = derlig To 1 Step -1
                  If .Range("B" & L) = Empty And L > 341 Then
                      .Range("A" & L & ":V" & L).Delete Shift:=xlUp
                  ElseIf .Range("B" & L) = Empty And (L <= 341 And L > 47) Then
                      .Range("A" & L & ":P" & L & ", R" & L & ":V" & L).Delete Shift:=xlUp
                  ElseIf .Range("B" & L) = Empty And L <= 47 Then
                      .Range("A" & L & ":P" & L & ", S" & L & ":V" & L).Delete Shift:=xlUp
                  End If
              Next L
          End With
          Application.ScreenUpdating = True
          
          MsgBox "Suppression ligne(s) terminee"
      End Sub
      
      0
  2. julien
     
    Youuuuuuupi !!!

    Tu es un génie , je te remercie énormément pour l'aide que tu m'a apporté ..

    A bientôt sur le fofo peut-être , première expérience très positive :)
    0