Besoin d'un petit coup de pouce svp!

Résolu
Manuj35
Messages postés
16
Date d'inscription
vendredi 29 septembre 2006
Statut
Membre
Dernière intervention
31 janvier 2007
- 19 janv. 2007 à 11:54
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
- 20 janv. 2007 à 14:17
Bonjour,
Cela fais 1 semaine que je découvre les macros Excel et donc Visual basic.
J'aimerais créer une macro qui masque les lignes des céllules vide ou =0 d'une colonne

Pour cela j'ai écris ce code :

Sub MasqueLigneVide()


    Application.ScreenUpdating = False
    ActiveSheets = "Reporting-mod"
    For i = 6 To 244
    Range("D" & i).Select
        If SelectCell = 0 Then
        ActiveCell.RowHeight = 0
        End If
        If SelectCell = "Préoccupant" Then
        End If
    Next i
    For l = 252 To 490
    Range("D" & l).Select
        If SelectCell = 0 Then
        ActiveCell.RowHeight = 0
        End If
        If SelectCell = "Critique" Then
        End If
    Next l
End Sub




La macro me supprime toute les lignes sans distinction. Voila la formule que j'ai dans les céllules de ma colonnes test :
SI(ET(C6>10;C6<20);"Préoccupant";SI(C6>20;"0";SI(C6<10;"0")))

Je n'arrive pas à voir pourquoi il me supprime tout, pourriez-vous m'adiez, m'aiguillez?

Merci par avance!

3 réponses

cs_kattalin
Messages postés
8
Date d'inscription
mardi 14 novembre 2006
Statut
Membre
Dernière intervention
19 avril 2011

19 janv. 2007 à 12:33
Bonjour,

il faut que tu remplaces ton SelectCell par Range("D" & i).Value comme suit et alors c'est bon.

Bonne journée
Kattalin

Application.ScreenUpdating = False
    ActiveSheets = "Reporting-mod"
    For i = 6 To 244
    Range("D" & i).Select
        If  Range("D" & i).Value = 0 Then
        ActiveCell.RowHeight = 0
        End If
         Next i
        
 
    For l = 252 To 490
    Range("D" & l).Select
        If  Range("D" & l).Value = 0 Then
        ActiveCell.RowHeight = 0
        End If
    
    Next l

Kattalin
3
Manuj35
Messages postés
16
Date d'inscription
vendredi 29 septembre 2006
Statut
Membre
Dernière intervention
31 janvier 2007

19 janv. 2007 à 12:38
Ok un grand grand GRAND merci Kattalin.

J'avais en plus dans ma séléction des céllules ayant pour valeur #Ref qui fesait merdé le programme, je les ai forcé à 0 et éffectivement ta raison Kattalin tout marche bien. Vraiment merci!

Manu
0
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
20
20 janv. 2007 à 14:17
Plutôt que d'utiliser ActiveCell.RowHeight = 0
tu pourrais utiliser
Rows(i).Hidden = True

Comme ça, tu peux éventuellement les remettre à False par code ou manuellement pour les réafficher sans avoir à redéfinir la hauteur de chaque ligne.

MPi
0