Bonjour a tous,
Merci infiniment à tous ceux qui participent au forum en posant des questions et surtout en y répondant. C'est mon premier job et j'ai un gros projet à mener en vba. Je ne sais pas comment j'aurai pu faire sans vous tous.
J'ai un petit problème de réglage que je n'arrive pas a solutionner.
On a une chaine de caractère du type "N° IMPAIRS DU 1 AU 59 ET N° PAIRS DU 2 AU 52" et j'ai besoin d'isoler dans une colonne l'intervalle des chiffres paires ("2 52") et dans une autre l'intervalle des chiffres impaire ("1 59"). Grâce a ce forum je commence a me débrouiller un peu dans la gestion des chaines de caractères donc j'ai réussi à écrire les trois petites fonctions ci-dessous que je compte utiliser dans une procédure.
Chacune des formules marchent biens isolément mais j'ai besoin d'associer VALNUM avec respectivement VALPAIR et VALIMPAIR. Or, quand je fait des testes sur ma feuille excel, je n'arrive pas a associer les formules que cela soit séparément (Exemple A1="N° IMPAIRS DU 1 AU 59" ; B1=VALNUM(A1)="1 59"; C1=VALIMPAIR(B1)="1 59") ou ensemble (Exemple B1=VALIMPAIR(VALNUM(A1))="1 59"). La cellule affiche un message "valeur".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 'ne conserve que les mots composés de valeurs numériques Function VALNUM(texte$) Dim i%, txt$() txt() = Split(texte) For i = 0 To UBound(txt) If IsNumeric(txt(i)) Then _ VALNUM = VALNUM & txt(i) & " " Next i End Function ' ne conserve que les valeurs numériques paires Function VALPAIR(texte$) Dim i%, txt$() txt() = Split(texte) For i = 0 To UBound(txt) If (txt(i) Mod 2) = 0 Then _ VALPAIR = VALPAIR & txt(i) & " " Next i End Function 'ne conserve que les valeurs numériques impaires Function VALIMPAIR(texte$) Dim i%, txt$() txt() = Split(texte) For i = 0 To UBound(txt) If (txt(i) Mod 2) <> 0 Then _ VALIMPAIR = VALIMPAIR & txt(i) & " " Next i End Function
Est-ce que la fonction nécessite une option particulière ou est-ce un problème de format ? Je crois qu'il me manque quelque chose.
Partager