FORUM Tom's Hardware » Programmation » Autre » [vba] recherche de caracteres dans une chaîne
 

[vba] recherche de caracteres dans une chaîne

Il y a 433 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [vba] recherche de caracteres dans une chaîne
 
Aux grandes âmes, les grands challenges
Plus d'informations

Je souhaiterai trouver une cellule dont le contenu commence par une date (jj/mm/aaaa) mais la cellule contient aussi autre chose après, elle est en format standard (pas format date). Je ne sais pas comment faire, la date étant variable (je ne cherche pas une date précise).
Comment faire pour rechercher par exemple une cellule qui contient un slash en 3e et 6e position de la chaîne de caractères?  
L'idéal étant de rechercher ces slash en 3e et 6e position et vérifier qu'il s'agit bien de chiffres avant et après les slash...
Merci d'avance pour vos réponses!
 
 
 

le corps s'évade, les idées persistent.
Plus d'informations

Tout dépend de tes conditions de tests...
Sinon pour connaitre si les "/" sont en 3ème et 6ème positions, c'est la même méthode que l'autre jour pour chercher les "\" dans un chemin de fichier.
 

Code :
  1. case=range("Xn" )
  2. if InStr(1, case, "/" ) = 3
  3. et
  4. if InStr(4, case, "/" ) = 6


après ce n'est qu'un simple test pour savoir si les caractères sont numeriques ou non.
Avec

Code :
  1. if IsNumeric(tachainedecarac) then


tu devrais arriver à pas mal de truc
 
EDIT: pas case, c'est un mot réservé


Message édité par Nova13 le 30-06-2006 à 15:02:53
Aux grandes âmes, les grands challenges
Plus d'informations

ça correspond à quoi le 1 et le 4 qui sont dans "Instr" ?
(à part ça je vois comment faire, merci encore une fois)

zeb
Profil : Modérateur libre
Plus d'informations

RTFM :o
Argh..... Interdit de poser une question dont la réponse est triviale : lire le manuel.

le corps s'évade, les idées persistent.
Plus d'informations

InStr("Place du caractère où va commencer la comparaison","chaine de caractère à comparer","caractère à comparer","1 ne tient pas compte des majus/minuscules - 0 (par défaut) tient compte des majus/minuscules" )
 
Comme l'a dit si joliement zeb : RTFM (maintenant que je sais ce que ca veut dire :kaola:  )
 

Citation :

Cet exemple utilise la fonction InStr pour renvoyer la position de la première occurrence d’une chaîne dans une autre chaîne.
 
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' Chaîne dans laquelle s’effectue la recherche.
SearchChar = "P" ' Recherche la chaîne "P".
 
' Une comparaison sans respect des majuscules et des minuscules
'commence à la position 4 et renvoie 6.
MyPos = Instr(4, SearchString, SearchChar, 1)  
 
' Une comparaison avec respect des majuscules et des minuscules
'commence à la position 1 et renvoie 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
 
'Par défaut (lorsque le dernier argument est omis),
'la recherche respecte les majuscules et les minuscules.
MyPos = Instr(SearchString, SearchChar) ' Renvoie 9.
 
MyPos = Instr(1, SearchString, "W" ) ' Renvoie 0.


Message édité par Nova13 le 03-07-2006 à 13:39:41

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » [vba] recherche de caracteres dans une chaîne
 

Annonces Google
Publicité