Tester si numérique jusqu'à trouver

Résolu
LeDebutantVBAFou -  
 LeDebutantVBAFou -
Bonjour,

Sur un tableau en colonne A figurent "les numéros de référence".

Le tableau se rempli via un Userform. Le numéro de référence s'indique automatiquement grâce à

Dim L1 As Integer 'la dernière ligne
Dim P1 As Integer 'La valeur de la dernière REF
L1 = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row 'la dernière ligne
P1 = ActiveSheet.Range("A" & L1) 'La valeur de la dernière REF
TextBox6 = P1 + 1 'Le numéro de la nouvelle ligne


Mon problème est que maintenant la valeur de REF peut ne pas être numérique.
J'ai besoin de tester si P1 est numérique, si ce n'est pas le cas tester la valeur du dessus, et cela jusqu'à trouver une valeur numérique pour que finalement

TextBox6 = "la dernière valeur numérique" +1

J'espère avoir été assez compréhensible dans mon problème!!!
Merci pour votree aide!!

3 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Sans boucle.
    Le dernier nombre de la colonne :
    Application.Index(Columns(1), Application.Match(1E+300, Columns(1), 1)).Value

    applicable à une plage plus restreinte si besoin.

    Le plus élevé de la colonne :
    Application.Max(Columns(1))

    eric

    1
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Essaies ceci
    Dim L1 As Long 'la dernière ligne
    Dim P1  'La valeur de la dernière REF
    Dim LiDeb As Long
    LiDeb = 3
    L1 = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row 'la dernière ligne
    P1 = ActiveSheet.Range("A" & L1) 'La valeur de la dernière REF
    While Not IsNumeric(P1) And L1 > LiDeb
      L1 = L1 - 1
      P1 = ActiveSheet.Range("A" & L1)
    Wend
    TextBox6 = P1 + 1 'Le numéro de la nouvelle ligne

    Cdlmnt
    0
  3. LeDebutantVBAFou
     
    On demande 1 solution, on en a 2!!!
    Un grand merci à vous!
    0