Se connecter avec
S'enregistrer | Connectez-vous

Excel/VBA Ignorer texte commençant par

Dernière réponse : dans Programmation

Bonjour,

Je travaille sur Excel 2007.
Voici mon problème, étant débutant en VBA, je cherche à lister des valeurs en ignorant deux types : celles dont les cellules sont vides, et celles dont les cellules commencent par "TR" par exemple "TR*", "TRACTEUR", "TRUITE", "TR-6534"

Pour les cellules vides, c'est bon j'ai trouvé :
  1. ValeurRecherche.Value <> ""


Par contre pour les "TR", c'es la folie! J'ai essayé:
  1. ValeurRecherche.Value <> "TR*"

  1. ValeurRecherche.Value <> like "TR*"

  1. ValeurRecherche.Value <> like "TR"*

  1. ValeurRecherche.Value <> like "TR#"

  1. ValeurRecherche.Value <> like "TR"#

et encore bien d'autres avec des parenthèses et tout le tralala...

Mon texte se présenterait sous cette forme:

  1. For Each ValeurRecherche In Application.Sheets(ActiveSheet.Name).Range(RangePlage)
  2. If Not MonDico.Exists(ValeurRecherche.Value) And ValeurRecherche.Value <> "" [color=#0061ff]And ValeurRecherche.Value <> "TR*"[/color] Then
  3. MonDico.Add ValeurRecherche.Value, ValeurRecherche.Value
  4. End If


Mais ça marche pas! :/ 
Si vous avez une idée, je suis preneur!

Merci bien et bonne journée!
Lassé par la pub ? Créez un compte

Meilleure solution

Expert Programmation

Salut TRuillaume <--- ah, ah ! faut t'ignorer !!! :o 

(je recommence)

Salut Guillaume et bienvenue.

Alors tout d'abord, va me lire le règlement. Apprends-y que toute pièce de code doit être présentée à l'aide de la balise [code]. C'est non négociable. [:zeb:4] Modifie ton message en conséquence.

Ensuite, apprends ou révise tes conditions. L'opérateur de négation en VB, ça n'est pas <>. C'est Not.

Ta condition devient :
  1. ValeurRecherche.Value <> "" And Not ValeurRecherche.Value Like "TR*"

C'est bête, t'avais fait le plus dur, c'est-à-dire d'avoir chercher à utiliser Like.

:o 

zeb a dit :
Salut TRuillaume <--- ah, ah ! faut t'ignorer !!! :o 

(je recommence)

Salut Guillaume et bienvenue.

Alors tout d'abord, va me lire le règlement. Apprends-y que toute pièce de code doit être présentée à l'aide de la balise [code]. C'est non négociable. [:zeb:4] Modifie ton message en conséquence.

Ensuite, apprends ou révise tes conditions. L'opérateur de négation en VB, ça n'est pas <>. C'est Not.

Ta condition devient :
  1. ValeurRecherche.Value <> "" And Not ValeurRecherche.Value Like "TR*"

C'est bête, t'avais fait le plus dur, c'est-à-dire d'avoir chercher à utiliser Like.

:o 


Premièrement merci beaucoup Zeb! Et secondement je m'en vais de ce pas mettre le post en résolu et changer le code comme tu me l as demandé! :) 

Bonne soirée l'ami!
Lassé par la pub ? Créez un compte