[Déplacé VB6 --> VBA] URGENT MACRO

cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010 - 15 mars 2010 à 18:47
cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010 - 16 mars 2010 à 21:32
Bonjour,

j'ai une macro a faire et je n'arrive pas a la faire en visual basic quelqu'un pourrait t'il me donner la solution?(je cherche depuis 3h dessus)

A : numéro d'article
B : désignation
C : Prix unitaire
D : quantité
Lorsque le prix est égal à 0 la liste est terminée
Numéro d'article :
Food not Food
1 ou 2
Numéro de rayon (de 0 à 5)
Marque ou produit blanc :
0 ou 1
Les 3 derniers chiffres numéro du produit (de 1à999).

Créer une macro pour Retrouver le numéro d'article en fonction de la désignation.

12 réponses

cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
15 mars 2010 à 18:48
NE VOUS OCCUPER PAS DU "Lorsque le prix est égal à 0 la liste est terminée
ce n'est rien
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
15 mars 2010 à 20:05
Salut
D'une part, je n'ai pas tout compris à ton énoncé et d'autre part, ici, c'est Codes-Sources, pas fais_mes_excercices_à_ma_place.com
Si tu as débuté quelque chose, montre nous-le, dis nous comment tu envisages de résoudre le problème ET dis-nous sur quoi tu bloques.

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)
0
cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
15 mars 2010 à 20:09
ben voila j'ai essayer ca mais a chaque fois il reviens a entrer la désignation et chaque fois ca marche pas

10 D$ = InputBox("entrer la désignation")
C = 1
C = C + 1
DR = Range("B" & C + 1)
If DR = D Then GoTo 20 Else GoTo 10
20 NA% = Range("A" & C + 1)
MsgBox ("désignation appartient " & NA)

et l'énoncer c'est

alors dans la feuille excel dans la colonne A il y a le numéro d'article (de 1001 à 251999) dans la colonne B: la désignation dans la colonne C le prix unitaire et dans la colonne D la quantité et la consigne est : créer une macro (visual basic) qui permet de retrouver le numéro d'article en fonction de la désignation
0
cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
15 mars 2010 à 20:09
et je suis sur que dans ma macro il y a quelque chose qui cloche dans la bazard
0

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

Posez votre question
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
16 mars 2010 à 00:32
"ça marche pas" On s'en doute, sinon, tu ne serais pas ici.

"a chaque fois il reviens a entrer la désignation" : Oui, puisque que tu as mis un n° de ligne 10 devant le InputBox et que, en cas de non concordance dans le If, tu fais un saut à ce 10.
Normal donc qu'il te repose la question.

Ca ne te saute pas aux yeux ?
0
cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
16 mars 2010 à 07:46
non je ne l'avais pas vu mais si j'enlève le 10 ca me reste ceci

D$ = InputBox("entrer la désignation")
C = 1
C = C + 1
DR = Range("B" & C + 1)
If DR = D Then GoTo 20 Else MsgBox ("designation incorecte"), vbExclamation: GoTo 30
20 NA% = Range("A" & C + 1)
MsgBox ("désignation appartient " & NA)

30 end sub

et mtn il s'arrete a désignation incorecte meme si la désignation que je rentre est pour moi valable
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
16 mars 2010 à 09:25
Quelle idée d'avoir enlevé le 10 ?
Du coup, il n'y a plus de boucle.
Il était simplement mal placé.
Est-ce que tu comprends ce que tu as écrit ?
La programmation n'est pas une loterie !

Quand tu auras compris le but de ce saut et de le n° 10, tu réflechiras à ce qui va se passer si le programme ne trouve pas de concordance : Quand va t-il s'arrêter ?
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
16 mars 2010 à 17:28
un conseil écrit déja ta boucle en francais, puis traduit la en VB
0
cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
16 mars 2010 à 17:30
c'est vrai que ca serait pas bete mais seulement j'arrive pas a comprendre avec le 10 je sais que c'est pas une loterie mais je suis un débutant
0
cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
16 mars 2010 à 17:31
la mettre en francais bonne idée mais j'ai déja du mal avec les fonctions lol
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
16 mars 2010 à 19:20
dis toi simplement, si machin alors truc puis bidule et patatipatata... pas besoin de fonction pour ça !
0
cs_Axel98 Messages postés 8 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 16 mars 2010
16 mars 2010 à 21:32
oui c'est vrai je peux déja faire ca merci mek :)
0