Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Comment supprimer les résultats vides des formules

Tableau123

XLDnaute Nouveau
Bonjour,
Je suis à la recherche d'une solution que je n'ai pas réussi à trouver sur internet.
J'ai créé une macro qui supprime les lignes à 0 mais je n'arrive pas à supprimer les lignes laissées vides par les formules. Dans le fichier test en pièce jointe, onglet "Tableau actualisé", les cellules de AA2 à AO30 sont une copie valeur des cellules de A2 à O30. Quand je me mets en AA2 et que je fais Ctrl + flèche vers le bas, je ne descends pas à la dernière ligne vide, en tout cas vide visuellement.
Merci par avance pour votre aide.
 

Pièces jointes

  • Fichier Test.xlsm
    31.6 KB · Affichages: 6

vgendron

XLDnaute Barbatruc
Bonjour

essaie avec ce code
VB:
Sub test()
    With Sheets("Tableau actualisé")
        .Range("AA2").CurrentRegion.Offset(1, 0).Clear 'on efface le tableau à droite (mise en forme Et contenu) SAUF la ligne d'entete
        LastLine = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne NON vide de la colonne A
        Set ZoneToCopy = .Range("A2:O" & LastLine) 'on set la Zone
        ZoneToCopy.AutoFilter Field:=1, Criteria1:="<>0", Operator:=xlAnd, Criteria2:="<>" 'on filtre sur la colonne Z: <>0 et <>""
        ZoneToCopy.SpecialCells(xlCellTypeVisible).Copy Destination:=.Range("AA2") 'on copie le résultat à droite
        ZoneToCopy.AutoFilter 'on enlève le filtre
    End With
End Sub
 

fanch55

XLDnaute Barbatruc
Bonjour à tous,
Code à tester

VB:
Sub MajF()

    If ActiveSheet.AutoFilterMode Then ActiveSheet.Cells.AutoFilter
    Range("AA1:AO" & Cells(Rows.Count, "AA").End(xlUp).Row).Clear
  
    Range("$A$1:$O$30").AutoFilter Field:=1, Criteria1:=">0"
    Range("$A$1:$O$30").SpecialCells(xlCellTypeVisible).Copy
  
    With Range("AA1")
        .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
        .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
    End With
      
    ActiveSheet.Cells.AutoFilter

End Sub

Salut @vgendron , attention ton filtre laissera toujours passer la ligne 2 quelle qu'en soit la valeur
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…