Tester si numérique jusqu'à trouver

Résolu/Fermé
LeDebutantVBAFou - 1 mars 2019 à 14:46
 LeDebutantVBAFou - 4 mars 2019 à 10:01
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!!
A voir également:

3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié le 2 mars 2019 à 00:36
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
1 mars 2019 à 17:33
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
LeDebutantVBAFou
4 mars 2019 à 10:01
On demande 1 solution, on en a 2!!!
Un grand merci à vous!
0