Tester multiples caractères dans une cellule

  • Initiateur de la discussion Initiateur de la discussion Phillip
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
21
Affichages
1 K
Retour