Problème à comprendre fonction Clng(split(.range

Résolu
micha94 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
micha94 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai hérité d'un code qui permet de masquer certaines lignes en fonction d'un nombre renseigné mais je n'arrive pas à comprendre comment le code fonctionne.
J'ai besoin de le dupliquer pour des lignes en dessous mais j'obtiens un code d'erreur "Incompatibilité de type".
Le premier with marche mais le deuxième ne fonctionne pas et je n'arrive pas à comprendre pourquoi.
Quelqu'un pourrait m'expliquer svp comment fonctionnent ces lignes de code et me dire comment faire la même chose pour les lignes 150 à 186 que pour les lignes 109 à 145 ?

Merci beaucoup d'avance,

Nb=1
        With Sheets("XX")
            For i = 109 To 145
                If CLng(Split(.Range("D" & i), " ")(1)) >= Nb Then
                    .Rows(i + 4).Hidden = True                  
               End If
            Next        
        End With
    
         With Sheets("XX")
            For i = 150 To 186
                If CLng(Split(.Range("D" & i), " ")(1)) >= Nb Then
                    .Rows(i + 4).Hidden = True                    
                End If
            Next        
        End With


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

"Incompatibilité de type".
La cellule ne doit pas être vide ou ne pas avoir d'" " dans la chaine.
C'est l'instruction
Split 
qui provoque l'erreur .
Example:
Dx="J 10" OK
Dx=vide Erreur
Dx="J10" Erreur
0
micha94 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci beaucoup pour ces éléments, j'ai compris l'erreur.
0