[VB] Soucis pour coder sous VB

Résolu/Fermé
vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010 - 20 avril 2009 à 13:10
vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010 - 22 avril 2009 à 09:34
Bonjour, je souhaiterais quelques précision concernant mon soucis du moment sur excel:

Pour faire simple, j'ais à ma disposition un classeur excel fournit de 2 feuilles.

A partir de la saisi de numéro sur la première feuille ( sur les lignes A2 à A11 ) sortir les fournitures associées aux numéros ( les fournitures étant entrées au préalable sur la seconde feuille du classeur )

Par exemple, pour le numéro 1, les fournitures 1, 2 et 5 lui sont associés.

En feuille 1 j'ais deux colonnes, N° article en A et l'état de l'article ( VRAI ou FAUX ) en B.
En feuille 2 j'ais deux colonnes aussi, A pour le N° de l'article et B pour les fournitures associées à cet article.

Mon problème ce situe au niveau du passage de la feuille 1 à la 2, car une fois que j'ai saisi le numéro je ne vois pas comment basculer sur la feuille 2 et "lire" les fournitures qui lui sont associés.

Par exemple, quand je "sélectionne" l'article numéro 1 ( que j'ais codé via VB par un système de case à cocher ) je souhaiterais avoir sur la feuille 2, sur la colonne qui suit celle des fournitures, le mot "VRAI" activé devant les fournitures associé à l'article 1, et par exemple mettre tout les autres à "FAUX" par défaut ( ils passeraient alors à "VRAI" lorsque l'article qui lui est associé serait coché )

J'espère avoir été clair, n'hésitez pas à me demander quelques précisions si besoin :)
A voir également:

30 réponses

vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010
21 avril 2009 à 12:32
Un article à au minimum une fourniture.

Pour le lancement, est il possible de la lancer une fois et ensuite de gérer la mise à jour en fonction de ce qu'on coche/décoche dans la feuille article ? ( je sais pas si on peut dire une exécution "dynamique" :s )

Merci de m'aider en tout cas :)
0
vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010
21 avril 2009 à 13:46
Oui, il faut se baser sur les numéros, la nomination "article1" etc étant faite uniquement pour le coté esthétique ( et aussi comprendre à quoi ça corespond )

Pour le lien entre la case à coché, sachant qu'il y a une colonne avec un test ( VRAI pour coché, FAUX pour non coché ) je pense que ça pourrais permettre de le faire ( avec une condition "si" par exemple )

Ou alors créer une colonne avec les noms d'articles, et à ce niveau la supprimer "article1" écrit par la boucle des cases à cocher.
0
vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010
21 avril 2009 à 16:13
J'ais eu une idée concernant l'exploitation des cases à cocher pour la suite, dis moi si c'est utile ou non:

Sub Conversion()

For I = 2 To 11

    If Cells(I, 2) = True Then Cells(I, 4).Value = 1
    If Cells(I, 2) = False Then Cells(I, 4).Value = 0

Next I
End Sub


Bon après je sais pas si ça peut t'être utile vu mon débutantisme sous VB ^^'
0
vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010
21 avril 2009 à 17:47
OK ^^
Que dire, il y a beaucoup beaucoup de lignes de code, ça va être dur de tout comprendre pour moi, mais en tout cas, sur ce que tu a mis la, pour moi c'est exactement ce que je souhaitais !

Passer par un bouton pour lancer la procédure, ça ne m'avais même pas traversé l'esprit, merci !
Par contre, avec ta macro, m'est il possible d'augmenter le nombre d'article sans pour autant perturber son exécution? ( est ce que si je rajoute des articles sous formes de cases à cocher, la macro les prendra elle automatiquement en compte? car c'est une ossature de feuille excel, j'aimerais savoir ou je devrais toucher pour passer de 10 articles à 150 par exemple )

En tout cas un grand MERCI à toi pour le "bouton", c'est génial !
0

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

Posez votre question
Utilisateur anonyme
21 avril 2009 à 18:59
il y a beaucoup beaucoup de lignes de code

Non il n'y a que ça d'utile:
Dim i As Integer
Dim j As Integer

j = 2
For i = 2 To 11
   While Val(Worksheets("Fournitures").Cells(j, 2).Value) = Val(Right(Cells(i, 2).Value, Len(Cells(i, 2).Value) - 7))
    Worksheets("Fournitures").Cells(j, 4).Value = Cells(i, 3).Value
    j = j + 1
    Wend     
Next i

Par contre, avec ta macro, m'est il possible d'augmenter le nombre d'article sans pour autant perturber son exécution? 

Ben.. c'est là le problème , mais j'y travaille.
en attendant si tu rajoutes des articles:
-il faut modifier : for i= 2 to N° de la ligne du dernier article
-il faudra qu'il s'appelle articlexx et qu'en feuille fournitures on trouve en colonne N° article :xx
il faut ,feuille articles, en colonne 'A' faire un copier coller d'une case à cocher pour la mettre face à l'article nouveau en modifiant la cellule liée.

J'ai une autre version en cours pour une mise à jour individuelle, mais pour le moment il faut cliquer sur l'article pour mettre à jour la case à cocher
A+



( est ce que si je rajoute des articles sous formes de cases à cocher, la macro les prendra elle automatiquement en compte? car c'est une ossature de feuille excel, j'aimerais savoir ou je devrais toucher pour passer de 10 articles à 150 par exemple )
0
vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010
21 avril 2009 à 19:33
Ok. l'ennui pour l'instant c'est que si je copie colle une case à cocher, lorsque j'en coche une, l'autre se coche automatiquement ( par exemple je copie la case à cacher de l'article 10 et la colle en article 11, si je coche la 10 la 11 se met automatiquement, et vice versa ) J'vais voir en les mettant manuellement si ça fonctionne :)

Merci de ta disponibilité :)
0
Utilisateur anonyme
21 avril 2009 à 19:42
Quand tu l'as collé, clic droit, format de controle, onglet controle, modifier cellule liée

nouveau fichier avec modification, permettant d'ajouter des articles sans modifier la boucle for i....
0
vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010
21 avril 2009 à 20:01
Le changement de case "cochable" fonctionne à merveille :)

Par contre aucune trace du nouveau fichier :s
0
vash641 Messages postés 40 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 janvier 2010
21 avril 2009 à 20:22
J'ais testé le lien, la boucle se fait nickel, c'était à ça que je souhaitais arriver, merci !

Je pensais faire une feuille de BDD de fourniture pure ( une colonne pour fourniture, une autre pour son prix associé ) extraire les prix et les injecter dans la feuille Fournitures ( qui renseigne quelles fournitures sont associé à tel article ) pour ensuite faire une macro sur cette dernière afin de faire le calcul des prix mais ça merdouille un peu pour le moment.

Je posterais ici ( et de manière plus claire! ) si jamais je m'en sors pas, mais je vais d'abord chercher par moi même :)

Encore merci et bonne soirée, tu m'a vraiment bien dépanné !
0
Utilisateur anonyme
21 avril 2009 à 21:06
N'oublie pas de mettre ton premier post en résolu et ravi de t'avoir aider.

A bientôt pour la suite ...
0