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

VBA - Déclarer/ Qualifier variable date

  • Initiateur de la discussion Initiateur de la discussion Rarara
  • 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 !

Rarara

XLDnaute Nouveau
Bonjour,

J'ai essayé de coder de sorte que si une cellule de la colonne D "date de réclamation" est nulle (des renvois sont fait en Feuil 2), la ligne entière contenant cette cellule nulle soit masquée. Si des liens sont complétés par la suite, le fait de cliquer sur le bouton fait réapparaître la ligne où la cellule de la colonne D est complétée. Jusque là tout va bien,voici le code ci-dessous:

Code:
Sub masquer_lignes _ si_cellules_nulles()
Dim ligne As Integer

For ligne = 5 To 245
    If Cells(ligne, 4) = "0" Then
        Rows(ligne & ":" & ligne).EntireRow.Hidden = True
    End If
Next

For ligne = 5 To 245
    If Cells(ligne, 4) > "0" Then
        Rows(ligne & ":" & ligne).EntireRow.Hidden = False
    End If
Next

End Sub

Ma problématique est la suivante: Ce code fonctionne si le format des cellules de la colonne D est "nombre" puisque un lien vide est renvoyé par "0".
Or, ma colonne D doit refléter des dates donc 2 options:
-Soit je garde cette base de code, et je rajoute une partie convertissant les cellules de nombres en dates
-Soit je choisi directement la variable de départ "Date" mais je n'arrive pas à la qualifier...En sachant que le renvoi vide =0 lorsque la cellule est au format nombre, et = 00/01/1900 au format date.

Pourriez-vous m'aider svp? Dans les deux cas je ne sais pas comment faire.
Merci pour votre gentillesse,
RM
 

Pièces jointes

Re : VBA - Déclarer/ Qualifier variable date

Bonjour.

Essayez comme ça :
VB:
Sub masquer_cellules_nulles()
Dim L As Long
For L = 5 To 245
    Rows(L).Hidden = IsEmpty(Cells(L, "D").Value)
    Next L
End Sub

Je n'avais pas vu que cette colonne D contenait une formule.
En la changeant ainsi:
Code:
=SI(ESTNUM(Feuil2!B2);Feuil2!B2;"")
Ceci devrait marcher quel que soit le format :
VB:
Sub masquer_cellules_nulles()
Dim L As Long
For L = 5 To 245
    Rows(L).Hidden = VarType(Cells(L, "D").Value) = vbString
    Next L
End Sub
 
Dernière édition:
- 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
2
Affichages
189
Réponses
6
Affichages
165
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
604
Réponses
5
Affichages
350
Réponses
3
Affichages
153
Réponses
4
Affichages
283
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…