Se connecter avec
S'enregistrer | Connectez-vous
Votre question

[vba] recherche de caracteres dans une chaîne

Tags :
  • Autres Langages
  • Standard
  • Programmation
Dernière réponse : dans Programmation
Partagez
30 Juin 2006 11:57:37

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!



Autres pages sur : vba recherche caracteres chaine

30 Juin 2006 15:01:53

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.

  1. case=range("Xn")
  2.  
  3. if InStr(1, case, "/") = 3
  4. et
  5. 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
  1. if IsNumeric(tachainedecarac) then

tu devrais arriver à pas mal de truc

EDIT: pas case, c'est un mot réservé
30 Juin 2006 15:40:42

ça correspond à quoi le 1 et le 4 qui sont dans "Instr" ?
(à part ça je vois comment faire, merci encore une fois)
Contenus similaires
a b L Programmation
30 Juin 2006 16:17:39

RTFM :o 
Argh..... Interdit de poser une question dont la réponse est triviale : lire le manuel.
3 Juillet 2006 13:31:48

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.