Soucis pour masquer des lignes

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

GGPS58

XLDnaute Occasionnel
Bonjour,
Comme suite à une précédente demande sans réponse, j'ai jugé utile de repréciser ma demande, en exposant plus précsemment mon problème.
Je pense que vous trouverez toutes les explications dans le fichier joint

Merci d'avance
 

Pièces jointes

Re : Soucis pour masquer des lignes

Merci à vous deux,
J'avais trouvé pour la ligne mal placée, vos autres corrections et émliorations me seront très utiles.
Suariez vous me dire pourquoi, tonton Vba ne me trouve pas une référence quand c'est un nombre (aucun problème quand c'est des chiffres et des lettres)

Merci
 
Re : Soucis pour masquer des lignes

Re GGPS58,

Le problème c'est que tonton VBA compare à ce moment là une valeur 30325 avec un texte "30325" donc pas d'égalité 😕

Y'a certainement un moyen simple de régler le problème, mais là, je bloque ...

Sinon dans le code, il faut change le simple test par
Code:
For Ligne = 3 To Range("A65536").End(xlUp).Row
  TotFind = 0
  For Each Cel In Range("A" & Ligne & ":AL" & Ligne)
    [COLOR=blue]If VarType(Cel.Value) = vbString Then
      If Cel.Value = ComboBox2.Value Then
        Cel.Interior.ColorIndex = 36
        TotFind = TotFind + 1
      End If
    Else
      If Cel.Value = Val(ComboBox2.Value) Then
        Cel.Interior.ColorIndex = 36
        TotFind = TotFind + 1
      End If
    End If
[/COLOR]  Next Cel
  If TotFind = 0 Then Rows(Ligne).Hidden = True
Next Ligne

Voilà 😉
 
Re : Soucis pour masquer des lignes

re Bonsoir GGPS58, Bruno et le Forum,

C'est tout simplement que dans un cas tu as un string "30258" et dans l'autre un Nombre 30258 pour pouvoir comparer il faut typer les valeurs ex :

Cdate(Ma_variable) et le "30258" se transforme en 30258 .

Pour voir cela tu te mets en mode VB et tu cliques au début de ta macro puis tu fais une exécution pas à pas avec F8 et tu viens placer ton pointeur de souris sur les variables et la tu remarqueras les "30258" et 30258 et en cas de comparaison ça ne peut jamais faire une égalité.

Bon test.
 
- 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
4
Affichages
214
Réponses
6
Affichages
327
Retour