Je ne suis peut-être pas clair dans le titre je vais donc vous expliquer rapidement ce que j'essai de faire.
Aussi, sachez que j'ai passer un temps fou à chercher des solutions sur le net, mais je ne dois pas utiliser les bons mots clés...
En gros, j'ai un inventaire dont chaque matériel est placé devant une référence me permettant d'utiliser la fonction RECHERCHEV
Ensuite, sur une autre feuille qui est sous forme de Bon de commande, j'aimerai y reporter les désignations de matériel.
La macro que j'ai réussi à faire me permet de reporter un matériel mais que sur une seule ligne. C'est à dire que si la ligne est déjà prise, comment peut-il faire pour se placer en dessous ?
J'espère avoir été clair dans ce que je souhaite et je vous remercie déjà pour votre aide.
Re : MACRO placer une ref dans un bon de commande ligne par ligne
Bonjour,
Merci d'y avoir jeter un oeil
La mise en page finale ne sera pas celle là.
Je voudrais faire un bouton par matériel. Le but est que la personne cliquera sur ce qu’elle aura besoin. Et que le matériel voulu se mette au fur et à mesure sur le bon.
J'ai mis "3" pour tester comme ça. Au final, sur une autre feuille avec une certaine présentation, il y aura les boutons de chaque matériel.
Alors oui, je pourrais le faire en menu déroulant mais j'aimerai me mettre à la macro car on va me demander de plus en plus de chose et ça m’intéresse.
De plus dans le menu déroulant je rencontre quelques soucis : taille police du menu déroulant, et les lignes du tableau ne s'ajuste pas quand la ligne matériel prends de la place en hauteur. Mais ceci sera un autre sujet et je compte trouver moi-même en faisant des recherches.
Re : MACRO placer une ref dans un bon de commande ligne par ligne
Bonjour
Quelques remarques sur ton projet :
"faire un bouton par matériel" est une mauvaise idée : cela va surcharger le classeur d'une part et le rendre peu évolutif car il faudra rajouter (ou enlever) des boutons au fur et à mesure de l'évolution du matériel.
Plutôt prévoir un clic droit ou double clic sur une cellule de l'inventaire avec un code qui en déduit le produit à placer dans le bon de commande.
Eviter le select et utiliser plutôt la forme Worksheets("Bon").Range("B13").FormulaR1C1 = "3" (ne pas oublier le référence à la bonne feuille)
Ce qui donnerait, en partant d'un double clic ou d'un clic doit sur la ligne voulue de l'inventaire
Code:
Dim Derling As Long
Dim Produit As Integer
Derlig = Worksheets("Bon").Range("B" & Cells.Rows.Count).End(xlUp).Row
Produit = Worksheets("inventaire").Range("A" & ActiveCell.Row).Value
Worksheets("Bon").Range("B" & Derlig + 1).FormulaR1C1 = Produit
Pour la Hauteur des lignes il suffit d'appliquer l'ajustement automatique des lignes à l'ensemble de l'onglet.
Cependant, si tu débutes en VBA, il serait plus simple de créer un bon de commande avec une liste déroulante des matériels...
Re : MACRO placer une ref dans un bon de commande ligne par ligne
Je rejoins Chris pour dire qu'une case par bouton n'est pas idéal.
Je te propose une solution par ListBox, regarde un peu si ça correspond plus à tes attentes.
Et par la suite tu pourras la modifier à ton goût.
Re : MACRO placer une ref dans un bon de commande ligne par ligne
Re
ne pars pas dans l'idée de te réfugier dans les macros parce que cela va devenir compliqué. Si on t'en demande de + en + c'est que le cahier des charges initial est mauvais
a un moment il faudra sans doute que tu retouches tes feuilles pour t'adapter à une nouvelle demande et alors tu devras revérifier toutes tes macros....... alors que souvent les formules s'adaptent automatiquement (pas vrai pour indirect)
un exemple basique pour un bon sans macro
il faut effacer les colonnes perçu et réintégré du tableau et resaisir les inventaires
j'ai regroupé ces colonnes dans le nom efface
tu sélectionnes le nom, puis suppr (tu peux associer cette action à un bouton, par macro)