Vba test sur une valeur numérique

Résolu/Fermé
jib92 - 10 sept. 2008 à 11:42
 jib92 - 22 sept. 2008 à 08:16
Bonjour,

Je voudrais afficher dans une cellule une valeur en fonction d'une autre cellule, mais je suis débutant et je n'ai pas la syntaxe en vba.

Ce que je souhaiterais écrire:

Range("F14").Select ( si j'ai bien compris cela me permet de travailler dans cette cellule)

If ("D14") < 19999 Then ActiveCell.FormulaR1C1 = 10000
If 20000 < ("D14") < 29999 Then ActiveCell.FormulaR1C1 = 20000
...

Ce que je souhaiterais c'est afficher 10000 si la valeur dans la cellule D14 est entre 10000 et 19999, 20000 si compris entre 20000 et 29999....

Ca ne doit pas être bien compliqué mais là je vois pas...

Merci.

Je travaille sous Excel 2003
A voir également:

34 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
10 sept. 2008 à 11:58
bonjour

IF range("D14") <19999 then
range("F14")=10000
end if
If range("D14")<29999 then
range("F14")=2000
end if

0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 sept. 2008 à 12:05
Bonjour,

Je ne pense que ça marche. Dans les 2 cas si j'ai 14000 la celulle F14 aura la valeur de 20000 ...

IF range("D14").value >= 10000 And range("D14").value =< 19999 then 
   range("F14")=10000 
end if 
If range("D14").value >= 20000 And range("D14").value =< 29999 then 
   range("F14")=20000 
end if 


;o)
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
10 sept. 2008 à 12:15
Merci beaucoup. Ca marche très bien.

Pendant que j'y suis. Je voudrais ensuite mettre un mot clef dans une "textbox" cliquer sur entrer et afficher une "listbox" qui m'affiche à partir de mon mot clef et de deux paramètres (temps et km). les lignes provenant d'une base de données correpondant à mes 2 paramètres et comportant le mot clef (à la manière d'un ctrl+F).

J'ai créé mes boutons et mon textbox mais la syntaxe... j'avoue être un peu perdu

Merci
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 sept. 2008 à 12:21
Peux tu me dire ou se trouve le mot clé et d'où 2 critères à rechercher ?

merci
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
10 sept. 2008 à 12:32
en F14 le km
en G14 le temps (en mois)

un textbox appelé "motclef"

et une listbox "recherche"

Je ne suis pas certain que la listbox soit appropriée.

J'ai une base de données de 810 lignes onglet "Annexe 1".

Ce que je voudrais c'est afficher les lignes qui me concernent et qui comportent le mot clef.

Listbox ou directement sur ma feuille je ne sais pas.

Merci beaucoup.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 sept. 2008 à 12:39
Ce que je veux savoir c'est ou se trouve le mot clé à chercher dans la base. Dans quelle colonne ? ou bien faut-il parcourir toute les lignes cellule par cellule ? Idem pour le km et le temps.

merci
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
10 sept. 2008 à 12:44
Ah ok. Désolé

Le mot clef à rechercher est dans la colonne C de l'onglet "Annexe 1"
La distance colonne X
La durée colonne Y

Merci Polux31
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 sept. 2008 à 12:48
Je ne suis pas certain que la listbox soit appropriée.
Listbox ou directement sur ma feuille je ne sais pas.

Effectivement si tu veux avoir toutes les infos d'une ligne, il vaut mieux les faire apparaître sur une feuille.

Je regarde comment faire ça.

;o)
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 sept. 2008 à 13:25
J'ai mis un exemple là

A toi de l'adapter à ton fichier.

Si tu as un blème, n'hésites pas à revenir ici

Bon courage

;o)
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
10 sept. 2008 à 13:49
Merci beaucoup. J'ai avancé en qq heures plus qu'en plusieurs jours.
Je regarde ça demain. Je te tiens au courant.
Merci encore Polux...
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 sept. 2008 à 13:51
De rien ;o)
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
11 sept. 2008 à 09:10
Bonjour,

J'ai regardé ton programme, il marche très bien. Je vais l'adapter à mon programme pour une textbox et un bouton rechercher (comme sur une page web) directement sur ma feuille. C'est pas possible d'afficher mes lignes dans une listbox ? (je dois avoir 26 colonnes environ) . Le fait est que mes colonnes sont étroites pour favoriser l'affichage et j'ai peur que ça soit illisible sur ma feuille de recherche vu que les colonnes sont déjà dimensionnées par des tableaux.
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
11 sept. 2008 à 09:24
Bonjour,

J'ai bien peur que 26 colonnes ne tiennent pas dans un listbox. Maintenant libre à toi de le faire, il va simplement falloir que tu parcours les 26 cellules une à une d'une ligne sélectionnée.

;o)
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
11 sept. 2008 à 09:54
Je vois pas encore a quoi ressemble une listbox, je peux pas dire...
Sinon peut être afficher un nouvel onglet avec redimension automatique des colonnes.

Faut que je réfléchisse à ça.
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
11 sept. 2008 à 10:06
Si j'insère ton code dans une macro (pour modifier par la suite) eh ben ca marche plus du tout... Je suis vraiment une buse.

mon mail: jb.lagriffoul sur google mail si ton ame charitable accepte de perdre encore un peu de temps pour un

pauvre newbit
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
11 sept. 2008 à 12:01
Salut,

Je n'ai pas trop de temps, mais si tu veux passe moi ton fichier (en enlevant les infos éventuellement confidentielles) par cjoint.com et reviens mettre le lien ici.
Je regarderai ça et te ferai les corrections.

;o)
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
11 sept. 2008 à 12:26
https://www.cjoint.com/?jlmsItYgwJ

En principe il n'y a pas trop de données confidentielles mais je te demanderai de supprimer le fichier après opération.

Le 1er bouton Entrer est affecté à une macro qui marche (grâce à toi) et Raz fonctionne également.
Ce que je voudrais maintenant c que le 2e bouton Entrer affiche les lignes de la base de données voulues en fonction de F14, G14, et du mot clef.

Les boutons du bas me permettront par la suite de réinitialiser en cliquant sur OK, ou enregistrer la fiche dans un nouvel onglet en cliquant sur non.

Merci encore pour ton aide.

JB
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
11 sept. 2008 à 12:39
Je viens de regarder ton fichier. En fait le mot clé est contenu dans une chaine de caractères. Le code que je t'ai fait passer ne fait pas la recherche dans une chaine de caractères mais sur une chaine complète. Il faut donc modifier le code en tenant compte de ça.

Je crois que la solution c'est d'afficher le résultat de la recherche dans un nouvel onglet.

J'espère que tu n'es pas trop pressé car je suis plutôt full au niveau boulot. Je vais essayer de voir ça cet aprem ou ce soir. Je te tiens au courant de l'avancement.

Pour les infos contenues dans le fichier, ne te fais pas de soucis, je ne garderai rien un fois la modif faite.

;o)
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
11 sept. 2008 à 12:45
Je crois aussi que le nouvel onglet est à privilégier. Par contre je souhaite afficher les 3 premières lignes de l'annexe pour savoir de quoi on parle...

Pour ce qui est du temps, tu peux meme regarder ça ce we.

Merci
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
11 sept. 2008 à 12:59
oui c'est mieux dans un onglet compte tenu du nombre de cellule, j'avais intégré le fait de garder les champs titre ainsi que la configuration de l'annexe pour l'onglet. Cet onglet doit-il être unique ou peut-il y avoir plusieurs recherches sur le même onglet ou chaque recherche dans un onglet différent ? Faut-il le ou les sauvegarder ? si oui, faut-il le faire dans ce fichier ou faut-il sauvegarder uniquement le ou les onglets ?

Je pense effectivement que je regarderai ça plutôt ce week end.

;o)
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
11 sept. 2008 à 14:11
Je souhaite réinitialiser entre chaque recherche. Donc ni sauvegarde, ni plusieurs onglets de recherches.

Je voudrais juste enregistrer des fiches dans "fiche client refusé" dans un tableau type Rame, Km, date garantie, probleme sii l'utilisateur clique sur "non?". Mais je le ferai par la suite t'embetes pas.

l'idee de mon programme est de refuser de prendre en garantie si la maintenance n'a pas ete réalisé. Sauf que la maintenance est tellement longue (800 lignes) qu'on ne peut pas savoir ce qui doit etre fait a tel moment.

Donc par exemple:

panne de compresseur:
on rentre la rame et le km
on voit qu'un nettoyage aurait du etre fait a la dernier maintenance
on verifie ensuite sur nos fiches papiers si ca a ete fait. Si ca n'a pas ete fait, on clic sur non et une ligne s'enregistre dans l'onglet "fiche client refusé". il faut juste pouvoir mettre un commentaire sur le refus. je pense que le bouton non? ouvrira une textbox et le commentaire sera ajouté dans le tableau.

Merci
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
12 sept. 2008 à 11:01
Bonjour,

Voilà un premier jet https://www.cjoint.com/?jmk7ElgaOC

J'ai commenté au maximum le code pour que tu puisses suivres le fonctionnement.

Dis moi si ça correspond à ce que tu souhaites, et reviens me donner tes commentaires.

;o)

PS: je n'ai pas de connection internet le week.
0
jib92 Messages postés 19 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 25 septembre 2008 1
12 sept. 2008 à 11:31
T'es vraiment bon, le programme marche super bien.
Je voudrais juste que la recherche sur les 2 paramètres Km et durée soit "ou" plutot que "et" parce que le km et la duree sont liés. 60 000 km = 1an donc si je demande 10 000 km et 1 an je n'ai aucun résultat.
Sinon c'est très bien. Merci encore. Je vais m'occuper de la suite.

Et je ne comprends dans quel cas un messagebox s'affiche (Maman, tu es belle...)
JB
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
12 sept. 2008 à 11:36
Mdrrrrrr, c'est une fonction pour faire des tests ... j'ai testé la fonction doesExistMotCle, j'ai juste oublié de la supprimer ... tu peux la fonction test, elle ne sert à rien.... :DDDDDDDDDDD

Je regarde pour faire la modif. Attention dans le cas de OU tu auras toutes les lignes avec le mot clé et "10000" ET toutes les lignes avec le mot clé et "1 an" ... es-tu sûr que c'est bien cela que tu veux ?

;o)
0