Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Tester multiples caractères dans une cellule

Phillip

XLDnaute Occasionnel
Bonjour,

Sur une plage de cellules, je veux récupérer une partie de la cellule, mais pour cela il faut qu'elle contiennent @ / ( ou ).

Si elle ne les contient pas mon code plante. j'ai donc fait un test avec le code ci-dessous, mais, ça ne passe pas à la cellule suivante si ma cellule ne contient aucun des caractères testés Qu'est-ce qui ne va pas ?

For Each cell In Plage

If Not cell.Value Like "*/*" Or Not cell.Value Like "*(*" Or Not cell.Value Like "*)*" Or Not cell.Value Like "*@*" Then Exit For

Next cell
ValeurArecuperer = Split(Split(cell, "(")(1), "/")(0)

merci de vos lumières

Phillip
 

thebenoit59

XLDnaute Accro
Re : Tester multiples caractères dans une cellule

Bonjour Phillip, bonjour eddy, le forum.
Il est normal que ça ne passe pas à la valeur suivante.

Code:
For Each cell In Plage

If Not cell.Value Like "*/*" Or Not cell.Value Like "*(*" Or Not cell.Value Like "*)*" Or Not cell.Value Like "*@*" Then Exit For

Next cell
ValeurArecuperer = Split(Split(cell, "(")(1), "/")(0)

La partie
Code:
 Then Exit For
quitte la boucle.

Pourquoi ne pas partir sur :

Code:
For Each cell In Plage
If cell.Value Like "*/*" Or cell.Value Like "*(*" Or cell.Value Like "*)*" Or cell.Value Like "*@*" Then 
ValeurArecuperer = Split(Split(cell, "(")(1), "/")(0)
End If
Next cell
 

Phillip

XLDnaute Occasionnel
Re : Tester multiples caractères dans une cellule


Bonjour,

Eh oui, mais justement ! quand ma cellule contient l'un de ces caractères je veux faire 'valeurArecuperer, mais quand elle n'en contient aucun, mon code plante et ne va pas à la cellule suivante !

ou alors je fais un else ?

merci

Cordialement
 

Discussions similaires

Réponses
21
Affichages
669
  • Résolu(e)
Microsoft 365 FORMULE Excel VBA
Réponses
17
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…