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

Résolu
micha94 Messages postés 6 Statut Membre -  
micha94 Messages postés 6 Statut Membre -
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.

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. micha94 Messages postés 6 Statut Membre
       
      Bonjour,

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