begin process at 2012 02 13 08:54:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

comparaison de valeur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comparaison de valeur

mardi 9 juin 2009 à 00:16:17 | comparaison de valeur

hidozo

bonjour,

j'ai 2 textbox (T1 et T2), la soustraction des deux se met dans une textbox (T3)

Je souhaite rechercher dans une plage de cellules (où il y a des nombres) si la valeur T3 se retouve.

Si c'est le cas, je veux afficher dans une textbox (T4) le contenu de la cells(row de la cellule trouvée, colonne 1) + (row de la cellule trouvée, colonne 2).

Cela me permettrait de faire faire en automatique un travail qui me prendrait 2 jours en intégrant un pré tri manuel.

J'ai réussi à automatiser le pré tri qui ne me prend plus que 5 min.

j'ai testé pour la recherche la formule suivante avec la comparaison avec une seule cellule D6 :

if abs(T2.value-T1.value)= cells(6,4).value then T4.value=cells(row de la cellule trouvée, 1) + cells(row de la cellule trouvée,2)

Ca ne marche pas. PAR CONTRE, si je remplace la référence cells(6,4) par la valeur de la cellule : "234" par exemple et bien cela fonctionne :

if abs(T2.value-T1.value)= "234" then T4.value=cells(row de la cellule trouvée, 1) + cells(row de la cellule trouvée,2)

Le problème de faire référence àa la valuer, c'est que pour les mises à jours tous les ans (les valeurs de références changent ) ce ne sera pas évident de changer tous les codes, alors que si je fais référence à la cellule, je ne touche plus le code.

Enfin, là pour l'exemple, je fait référence à une seule cellule, alor que je dois rechercher la comparaison dans une plage : G6:K56.

Merci de votre aide.

Cordialement

Hidozo
mardi 9 juin 2009 à 01:05:55 | Re : comparaison de valeur

jack

Administrateur CodeS-SourceS
Réponse acceptée !
Salut
Si tu travailles avec des chiffres, ne mets pas tes valeurs entre ", c'est réservé aux chaines.
VBA n'est pas bête et fait la traduction, mais un jour tu te feras avoir.

Qu'y a t-il dans la cellule 6,4 ?
Juste un chiffre   234  ou bien un    '234  ou encore   "234"   ?
Dans ce dernier cas, la cellule n'est pas un chiffre, d'où le problème de comparaison.
Ajoute ceci pour le vérifier :
   MsgBox ">" & Cells(6, 4).Value & "<"
Tu connaitra exactement ce qu'il y a dans cette cellule, peut-être quelque chose te sautera aux yeux.
Eventuellement, fais le test avec
   Val(Cells(6, 4).Value)
mais Val("234") donnera 0
Dans ce cas, il faut comparer     "monCalcul" avec "234"
   If """" & CStr(Abs(T2.value-T1.value)) & """" = "234" then 
Quatre " sui se suivent est une chaine équivalente à un simple ", en fait, il suffit de mettre 2 " dans une chaine pour obtenir ce simple ", auquels il faut ajouter le " de début et de fin.
CStr est la fonction de conversion d'un chiffre en chaine

Pour ta recherche dans une plage, enregistre une macro puis sélectionne une plage et lance une recherche --> Tu auras le code tout fait. Tu n'auras plus qu'à le paramétrer.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)


Cette discussion est classée dans : cellule, value, cells, row, trouvée


Répondre à ce message

Sujets en rapport avec ce message

exporter mes données en excel ... [ par kobejul08 ] voilà le code que je compte employé pour exporter mes données dans un classeur excel Seulement j'aimerais que si je ne mets rien dans quantité que ma réduire mon code [ par kobejul08 ] Bonjour j'ai réalisé un control array pour réduire mon code quelqu'un peut m'aider concernant la formule a adapter??Voici mon ancien code..Dim Row     j'ai fait un control array ensuite?? [ par kobejul08 ] Pour réduire mon code j'ai un control array du champs Txtdétails1 , TxtPrix1 ,TxtQuantité1ça jusqu'a 34 fois voici mon code précédent...              code de la boucle? [ par kobejul08 ] Après avoir réaliser un control array pour éviter une longue liste de code ... le seul hic c'est qu'après le For i = 0 To 33 ... je sais pas trop comm Un probleme de code [ par Delphine_P ] Bonjour, je ne suis pas sur que mon thème, mais je suis une vrais débutante.tout d'abord je voulais vous dire que votre site est très bien, même si j' Selectionner une valeur avec un DataGridViewComboBoxCell [ par bolandfranck ] Bonjour,J'ai un petit souci : je vient de découvrir les merveille fabuleuse du framework 2.0 avec le datagridview.Mon problème est que je voudrais que comparaison de 2 plages de cellules [ par inge68 ] debutant en VBA, Je voudrais comparer une plage de cellule X avec une autre Y et prendre la valeurs  de la cellule Z qui est juste apres Y< detention croisés sur les fonds ( VBA) [ par mimi0 ] Bonjour, Je suis en stage dans une banque, et je souhaite arrivé à calculer a partir de deux feuille Excel: l'une concerne les fonds détenus par des pb dans le code [ par julienb25 ] re bonjourj'ai a nouveau un bout de code qui pose problème je ne connais pas la syntaxe exacte... le pb est en rougeje voudrais qu'il ne reste qu'une différenciation intra-cellule [ par Maxc79 ] Bonjour, Je souhaiterais séparer 2 variables inscrites dans une même cellule en utilisant VisualBasic. Exemple : - Cellule de départ : Cells(1, 2)


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales