Erreur sur une ligne VBA que je n'ai pas créée...

kioups

XLDnaute Occasionnel
Bonjour ou rebonjour !

Un membre du site (vbacrumble) m'a aidé, ou plutôt, a créé une macro qui m'est bien utile.
Malheureusement, il y a un bug dans un cas très particulier et je sais exactement à quelle ligne. Mais je ne sais pas comment modifier cette ligne.

Code:
NumeroJournee = 1 * Left(Split(Split(s, ":")(1))(1), (IIf(Len(Split(Split(s, ":")(1))(1)) = 5, 2, 1)))

Elle permet de ressortir la valeur x dans un cellule du type
Rencontre : L1 xeme journee
où x est un nombre.
Pour x = 1 à 38, aucun souci SAUF pour x=11...

Je touche au but, manque juste cette petite ligne à modifier...

Merci d'avance !!

Kioups
 

pierrejean

XLDnaute Barbatruc
Re : Erreur sur une ligne VBA que je n'ai pas créée...

bonjour kioups
Salut soenda

A tester:

Code:
NumeroJournee =1*Right(Left(s, InStr(s, "eme") - 1), Len(Left(s, InStr(s, "eme") - 1)) - InStrRev(Left(s, InStr(s, "eme") - 1), " "))
 

kioups

XLDnaute Occasionnel
Re : Erreur sur une ligne VBA que je n'ai pas créée...

Bonjour Soenda, bonjour PierreJean

Soenda : je renvoie le lien vers la macro complète de vbacrumble. Dans ce fil, il doit y avoir un lien vers mon classeur.

https://www.excel-downloads.com/threads/trop-de-calculs-tue-le-calcul.120197/

PierreJean : cela fonctionne à merveille pour ces deux journées.
Je suppose que cela fonctionne aussi pour les autres, sauf pour
Rencontre : L1 1ere journee
 

pierrejean

XLDnaute Barbatruc
Re : Erreur sur une ligne VBA que je n'ai pas créée...

Re

Un petit supplement pour le cas particulier :

Code:
If InStr(s, "1ere") <> 0 Then
  NumeroJournee = 1
Else
  NumeroJournee = 1 * Right(Left(s, InStr(s, "eme") - 1), Len(Left(s, InStr(s, "eme") - 1)) - InStrRev(Left(s, InStr(s, "eme") - 1), " "))
End If
 

Discussions similaires

Réponses
8
Affichages
682

Statistiques des forums

Discussions
312 493
Messages
2 088 949
Membres
103 989
dernier inscrit
jralonso