Bonjour,
Je suis actuellement débutant en VBA et souhaite votre éclairage concernant un certain point sur les macros.
Pour faire rapidement, j'essaye de créer un fichier de gestion de stock de produits diverses (fournitures). Lors de l'augmentation ou la diminution de mon stock, je souhaite faire remplir par l'utilisateur un input Box dans lequel il rentre la quantité de stock à retirer ou à ajouter.
La où j'ai un problème, c'est qu'à la base mon code est comme suit:
Le problème étant le suivant: la macro est associée à une ligne. Si mon utilisateur fait un tri dans le tableau des données (Il y a une colonne CRAYON en A et une colonne Quantité en B par exemple) l'incrémentation se fera sur la cellule "B6" qui ne sera plus associée au bon produit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub Macro_incre() saisi = InputBox("Combien voulez vous ajouter?", "Ajout de stock", 0) If saisi < 0 Or Not (IsNumeric(saisi)) Then Rep = MsgBox("Erreur de saisie veuillez recommencer") Else Range("B6") = Range("B6") + saisi End If
Ce faisant, je souhaite donc créer une variable dont le contenu serait une chaine de caractère (par exemple: mavariable_crayon= "crayons"). Une fois mon inputbox remplie par l'utilisateur, la macro cherche le chaine de caractère "crayons" dans la feuille voulue, se place sur la cellule intitulée "crayons" puis se décalle d'une case (donc avec un offset(0,1)) et incrémente.
Seulement je n'arrive pas à créer de variable contenant une chaine de caractère et ne connait aucune fonction VBA permettant de chercher une chaine de caractère au sein d'une feuille Excel.
Merci de votre aide.
PS: Voici ci dessous le fichier si mes explications ne sont pas assez claires.
mdp: Darwin
Partager