Comment éliminer des lignes contenant un nom et des valeurs 0?

  • Initiateur de la discussion Initiateur de la discussion Aloha
  • Date de début Date de début

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 !

Aloha

XLDnaute Accro
Bonjour,

Dans le fichier joint il y a des lignes contenant, outre un nom et un service, des valeurs 0.

La longuer de la liste est variable!

Comment faire pour les éliminer par VBA?

Merci d'avance pour votre aide.

Aloha
 

Pièces jointes

Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Bonjour Aloha,

Si vous ne voulez pas voir les valeurs zéro, 2 solutions :

1) mettre tout le tableau au format personnalisé :

0,0;-0,0;

ou s'il n'y a pas de valeurs négatives :

0,0;;

2) menu Outils-Options-Affichage et décocher "Valeurs zéro"

A+
 
Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Bonjour,

Voici un moyen (colonne J) de tester les heures travaillées
Ensuite sur cellule ligne 4 colonne J on peut faire un filtre sur la valeur 1
Ainsi sans supprimer de ligne on peut afficher que les personne qui ont travaillé


A+
 

Pièces jointes

Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Bonsoir,

Merci de bien avoir voulu vous occuperde mon petit problème.

En fait, ce que je veux, c'est éliminer totalement ces lignes, ce qui ne peut donc se faire que par VBA.

Bonne soirée

Aloha
 
Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

aloha Aloha,

si j'ai bien compris, cette macro supprimera toutes les lignes pour lesquelles les colonnes c à i sont à 0.

Code:
Sub SupprimerLigneZero()
Dim derligne As Long
Dim ligne As Long
Dim plage As Range
With Sheets("Feuil1")
    derligne = .Range("A" & .Rows.Count).End(xlUp).Row
    If derligne = 5 Then Exit Sub 'Aucun nom on sort
        
    For ligne = derligne To 5 Step -1
        If Application.CountIf(.Range(.Cells(ligne, 3), .Cells(ligne, 9)), 0) = 7 Then
            If plage Is Nothing Then
                Set plage = .Rows(ligne)
            Else
                Set plage = Union(plage, .Rows(ligne))
            End If
        End If
        
    Next ligne
End With
    If Not plage Is Nothing Then plage.EntireRow.Delete
End Sub

A +
 
Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Bonsoir,

j'ai supposé la même chose, Hasco.
Code:
Sub efface()
  For Li = [A3000].End(xlUp).Row To 5 Step -1
      If Application.WorksheetFunction.Sum(Range("B" & Li & ":I" & Li)) = 0 Then Cells(Li, 1).EntireRow.Delete
  Next
End Sub
 
Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Bonjour,

Un grand merci à vous deux: cela fonctionne!

Le seul désir que j'aurais encore, ce serait de relever les lignes avec 2 couleurs de fond alternatives, pour mieux "garder la ligne".

p.ex. ligne 5: bleu clair, ligne 6: vert clair, ligne 7: bleu clair, etc.

A+

Aloha
 
Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Re,

Normalement tu n'as pas besoin de l'intégrer dans le code VBA.
Si ta plage de cellules est correctement paramétrée avec son format conditionnel, si tu supprimes une ou des lignes, le format se met à jour tout seul.

Ou alors c'est que tu ne dis pas tout, mais peut-être vaudrait-il mieux un exemple plus parlant.

A+
 
Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Re-

tu as raison; j'y suis arrivé

Ce que j'ai encore fait ensuite c'est la mise en page et j'ai réglé les marges dans la fenêtre aperçu en faisant glisser les marges.
Seulement lorsque j'exécute le code, il se bloque à:

With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints()

avec le message erreur "Erreur de compilation - Argument non facultatif".

A+

Aloha
 
Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Re,

il faut que tu mettes une valeur en inches (pouces) entre les parenthèses.
exemple pour un tiers de pouce.
Code:
.LeftMargin = Application.InchesToPoints(0.3)

A+
 
Re : Comment éliminer des lignes contenant un nom et des valeurs 0?

Re,

Cela marche! Merci beaucoup.

La toute dernière chose que je pourrais encore m'imaginer d'ajouter, ce serait, les totaux des heures, en-dessous de la dernière ligne contenant des données.

A+

Aloha
 
- 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

Réponses
6
Affichages
334
Réponses
12
Affichages
409
Retour