Suprimer certaines colonnes d'une ligne

Résolu/Fermé
julien - 9 févr. 2016 à 17:36
 julien - 11 févr. 2016 à 10:08
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
A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
9 févr. 2016 à 18:01
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
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > julien
9 févr. 2016 à 18:42
Re,
Effacer ou supprimer telle est la question ?
Ai compris, mais pas ce soir, demain si personne d'autre vous donne réponse

À+
0
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > julien
Modifié par f894009 le 10/02/2016 à 12:04
Bonjour,
Ok, je regarde la chose
À+
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
10 févr. 2016 à 12:05
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
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