dans une condition If recherche avec une partie de valeur? est-ce possible

Paritec

XLDnaute Barbatruc
Bonjour Le Forum,
Dans une condition If, j'aimerais avoir exemple:
If c.Offset(0, -5) = "MOH" Or c.Offset(0, -5) = "MOHS" then etc....
J'aimerais pouvoir avoir qu'une seule valeur, mais qui permette de comprendre les deux valeurs ci-dessus."MOH" et "MOHS"
Peut-on mettre "moh*" pour avoir tout ce qui commence par moh ? je sais que cela ne marche pas parce-que j'ai éssayé mais il y a peut-être un truc?
Et la deuxième choses, surtout faire en sorte que cela reconnaisse aussi bien des minuscules que des majuscules?
dans l'attente de vos réponses
amicalement
Papou
 

Paritec

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Bonjour Pierrot Coriolan, le Forum
Alors mon souci était un end If pas bien placé
maintenant
1)If Left(c.Offset(0, -5), 7) = "forfait" cela marche bien Pierrot
Pour le UPPER cela ne marche toujours pas, et pour le Like non plus mais apparemment avec la ligne ci-dessus cela marche bien je vais vérifier s'il reconnait indifféremment Maj et Min et je vous dirai
a+
Papou
 

Paritec

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Re Wilfried re le Forum,
Je ne sais pas mais apparemment le code que tu m'avais donné au tout début ne marchait pas mais en fait c'était pas ton code, c'était plus haut que ca merdait.
Maintenant avec
Il left(c.offset(0,-5),7) = "Forfait" then
il me trouve bien même les FORFAITS du moins je dois le vérifier et contrôler mais je pense que en fait le premier code que tu m'avais donné était la solution mais j'avais trois condition IF les unes derrières les autres et c'est cela qui posait problèmes, je pense car maintenant entre deux j'ai mis un End if et cela marche.
Par contre le like et le Upper ca non cela marche toujours pas.
Bonne soirée en cas de besoin après contrôle demain je te dirai quoi
a+
Papou
 

Pierrot93

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Bonjour Papou, Wilfried

je viens de tester le code cidessous :

Code:
Option Compare Text
Sub test()
If Range("A1").Value Like "FORF*" Then MsgBox "ok"
End Sub

et bien sur il marche, par contre faudrait voir ton fichier... mets en pièce jointe un exemple qui ne fonctionnerait pas comme il faut..

bonne journée
@+
 

Paritec

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Bonjouir Pierrot, Bonjour le forum,
J'avais préparé justement un petit fichier avec volontairement des colonnes avec des MOH de Moh et les autres éléments que je souhaite extraire.
Je ne peux pas te joindre mon fichier il est le résultat d'une requête et si tu n'as pas les fichier de bases cela ne marcherait pas, voilà pourquoi j'ai fait un petit fichier avec des info bidons cela te permettra de faire tes essais.
Je te laisse voir et surtout Pierrot ce que je souhaite obtenir comme résultat j'ai éssayé d'expliquer avec mes mots dans le fichier joint.
Quand tu dis que tu as éssayé et que cela marche tu ne me surprends pas
bref j'ai éssayé avec des if mais la solution est peut être ailleurs
voilà regardes et dis moi
bonne journée
amiacelement
Papou
 

Pièces jointes

  • Papou1.xls
    20 KB · Affichages: 40
  • Papou1.xls
    20 KB · Affichages: 39
  • Papou1.xls
    20 KB · Affichages: 38

Paritec

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Pierrot bonjour,
non c'est normal c'est pas mon fichier mais est-ce que tu penses que pour obtenir ce que je souhaite la bonne méthode c'est avec des if comme j'avais fait ??
C'est pour cela que pour ne pas t'infuencer j'ai rien mis si tu as un code pour moi je te mets néanmoins ci-dessous ce que j'avais fait mais c'est peut-être pas une bonne direction enfin mes connaissances sont limités mais la volonté d'apprendre est grande
dans l'attente de ta réponse
Papou
With UserForm1
For Each c In Feuil7.Range("H2:H" & Feuil7.Range("H65536").End(xlUp).Row)
If c.Value >= CDate("1 / 5 / 2002") And c.Value <= CDate("30 / 4 / 2003") Then
Var_somme = Var_somme + c.Offset(0, -1).Value
End If
If Left(c.Offset(0, -5), 3) = "MOH" And c.Value >= CDate("1 / 5 / 2002") And c.Value <= CDate("30 / 4 / 2003") Then
Moh_somme = Moh_somme + c.Offset(0, -1).Value
End If
If Left(c.Offset(0, -5), 7) = "forfait" And c.Value >= CDate("1 / 5 / 2003") And c.Value <= CDate("30 / 4 / 2005") Then
forfait_somme = forfait_somme + c.Offset(0, -1).Value
End If
Next c
 

Pierrot93

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Re

ton fichier avec macro dans module 1, mais bon, suis pas sur que l'on parle de même chose...

bon après midi
@+

Edition : bonjour Banzai, t'avais pas vu pasraffraichi...
 

Pièces jointes

  • Papou1.xls
    31 KB · Affichages: 25
  • Papou1.xls
    31 KB · Affichages: 27
  • Papou1.xls
    31 KB · Affichages: 30
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Pierrot Banzaï bonjour Bonjour le forum
Pierrot non c'est pas ca ce que je veux
Banzai oui c'est tout prés de ce que je veux sauf que j'aimerais que les résultats aillent se loger dans une listbox1 et que je n'ai pas à changer la date que des lors que je clique sur recherche ou test ou autre mes listes de résultats viennent incrémenter ma listbox
sous forme comme dans le fichier quoi en bas , ce que tu as trouvé en jaune dans la Listbox1
j'espère que tu as compris mon charabia
a+
Papou
 

Pierrot93

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Re

c'était juste pour te démontrer que les controles pouvaient être effectués avec l'opérateur "Like", couplé avec l'utilisation de l'option "compare text". Mais comme je disais pas sur que l'on parle de même chose.

@+
 

Paritec

XLDnaute Barbatruc
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Re Banzai re Pierrot re le forum,
Voilà ce que j'ai essayé d'obtenir comme résultat mais sans y parvenir pour le moment mais cela viendra
dans la listbox 01/05/2002 au 30/04/2003 Var_somme Moh_somme Forfait_somme
dans la listbox 01/05/2003 au 30/04/2004 Var_somme Moh_somme Forfait_somme
dans la listbox 01/05/2004 au 30/04/2005 Var_somme Moh_somme Forfait_somme
dans la listbox 01/05/2005 au 30/04/2006 Var_somme Moh_somme Forfait_somme
dans la listbox 01/05/2006 au 30/04/2007 Var_somme Moh_somme Forfait_somme
dans la listbox 01/05/2007 au 30/04/2008 Var_somme Moh_somme Forfait_somme
sachant que je ne souhaite pas avoir a entrer un date je voudrais que cela calcul seul et me renvoi les résultats. Dans la listbox1
Si l’année n’est pas pleine éventuellement un message ’’année en cours pas complète’’
c'est ce que je disais plus haut Banzai, c'est ton résultat en jaune inséré dans la listbox1
mais sans avoir a changer la date
merci d'avance
a+
Papou
 

Banzai64

XLDnaute Accro
Re : dans une condition If recherche avec une partie de valeur? est-ce possible

Re
Je veux bien essayer de faire quelque chose
Mais faut fournir le programme qui initialise la ListBox avec les dates

A te lire


J'avais du temps
 

Pièces jointes

  • Papou1(1).zip
    13.1 KB · Affichages: 16
  • Papou1(1).zip
    13.1 KB · Affichages: 17
  • Papou1(1).zip
    13.1 KB · Affichages: 21
Dernière édition:

Discussions similaires

Réponses
4
Affichages
199