Supprimer des lignes dans excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fosters

XLDnaute Occasionnel
Bonsoir a tous,

Je suis débutant en macro et je sollicite vos connaissance pour m'aider a solutionner une création d'une macro. J’ai un tableau de 4 colonnes (ci joint) dans lequel je voudrais créer une macro pour:
1/ supprimer toute les lignes Personnel
2/ supprimer les lignes qui contienne 0
3 supprimer les lignes en négatif.

Je vous remercie pour votre aide

Fosters
 

Pièces jointes

Re : Supprimer des lignes dans excel

Bonjour fosters
Une proposition de code :
Code:
[B][COLOR="DarkSlateGray"]Sub nettoyer()
Dim oDat, dDat, c As Long, i As Long, j As Long, r As Long
   oDat = Sheets("Feuil1").[A1].CurrentRegion.Value
   c = UBound(oDat, 2)
   ReDim dDat(1 To c, 1 To 1)
   For i = 1 To UBound(oDat, 1)
      If Not (UCase(oDat(i, 1)) Like "*PERSONNEL*" Or oDat(i, 4) <= 0) Then
         r = r + 1
         ReDim Preserve dDat(1 To c, 1 To r)
         For j = 1 To c
            dDat(j, r) = oDat(i, j)
         Next j
      End If
   Next i
   With Sheets("Feuil1").[F1] [COLOR="SeaGreen"]'Destination des données sélectionnées. _
   Pour remplacer les données existantes, mettre _
   With Sheets("Feuil1").[A1][/COLOR]
      .CurrentRegion.ClearContents
      .Resize(r, c).Value = WorksheetFunction.Transpose(dDat)
   End With
End Sub[/COLOR][/B]
Ce devrait être assez rapide, même avec beaucoup de lignes à traiter.​
ROGER2327
#2104
 
Re : Supprimer des lignes dans excel

Bonsoir fosters, Roger2327, les gens du fil & du forum

fosters :
Tu connais ou pas l'utilisation du filtre automatique (ou plutôt ici du filtre élaboré) ? (Comme tu dis être débutant, le savoir m'indiquera si je propose ou pas ce que j'avais fait avec ces filtres ? )
PS: tu n'as peut-être pas vu mon précédent message ?


Roger2327
: superbe comme toujours.
 
Re : Supprimer des lignes dans excel

Re


Finalement autant publier le code , ca pourra toujours servir

Code:
Sub Macro1VersionLongue()
Dim vCrit$, pData As Range: Set pData = Range("A1").CurrentRegion
Dim pResultat As Range, raz

vCrit = "=AND(RC[-5]<>""Point de Vente Personnel"",RC[-2]>0)"

Set pResultat = _
    Application.InputBox("Sélectionner la cellule devant recevoir les données filtrées,svp", _
    "Choix de la cellule de destination", _
    "$H$1", _
    Type:=8)

Range("F2").FormulaR1C1 = vCrit

pData.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("F1:F2"), CopyToRange:=pResultat, Unique:=False

If ((MsgBox("Souhaitez-vous conserver le tableau d'origine ?", vbQuestion + vbYesNo, "Mise en forme des données"))) = 7 Then
pData.Columns.Delete
Columns("A:C").Delete
Else
End
End If

End Sub
La version initiale issue de l'enregistreur de macros
Code:
Sub Macro1()
[COLOR=SeaGreen]' Macro1 Macro
' Macro enregistrée le 14/11/2009 [/COLOR]
Range("F2").FormulaR1C1 = "=AND(RC[-5]<>""Point de Vente Personnel"",RC[-2]>0)"
Range("A1:D17").Select
Range("A1:D17").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("F1:F2"), Unique:=False
End Sub
 
Re : Supprimer des lignes dans excel

Bonjour Staple 1600,

Je n'avais pas fait attention a ton précèdent message ,je connais et j'utilise les filtres automatique pas du tout les filtres élaborés. je te remercie pour ton code je vais l'essayer.
Merci pour votre aide bon WE.

Cordialement
JBG
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour