Re : gestion de stock perso
Loune , si tu veux ,
Le but étant de ne pas perdre de vu ton schéma principal, mais remplir petit à petit une caisse à outils, ceux ci te serviront ensuite à rendre opérationnel ton sénario.
Sur ce premier exemple que trouvons nous comme outils ? :
Prenons le code ligne à ligne pour explication, bon je part du principe que tu ne connais de VBA que les 3 lettres VBA (lol)
'Doit être en premiere ligne de module, force à déclarer les variables , évite bien des heures de recherche de bug
_ Option Explicit
Entête de subroutine ou routine ou procédure (Modélise une suite d'instruction appelable ensuite par son nomà
_ Sub Recherche()
Déclaration des variables
Non c'est pas dangereux , lol , c'est juste un peu comme des casiers d'un meuble de visserie
Déclaration de la boite Cible qui contiendra une chaine de caractéres alphanumérique étendu
_ Dim Cible As String
Déclaration de la boite trouve qui est plus un objet permettant de stocker et manipuler des zones de cellule grace à plein de propriété et méthodes propres à l'objet ( bon pas encore très clair , mais l'on plante le décors
_ Dim Trouve As Range
Déclaration de la boite données , une boite polyvalente
_ Dim Données As Variant
Charge l'objet trouve avec le résultat de la recherche (Find) du contenu de la cellule C5 de la feuille Mise au point , appliquée sur la feuille stock dans la colonne C avec une égalité stricte
_ Set Trouve = Sheets("stock").Range("C:C").Find(Sheets("Mise au point").Range("C5"), lookat:=xlWhole)
Test si l'objet n'est pas null alors
_ If Not Trouve Is Nothing Then
on charge la boite données avec le contenu des cellules A à J de la ligne ou la recherche à aboutie
_ Données = Sheets("stock").Range("A" & Trouve.Row & ":J" & Trouve.Row)
Affecte aux cellules A à J de la ligne 10 de la feuille mise au point
_ Sheets("Mise au point").Range("A10:J10") = Données
Si l'objet est null
_ Else
Envois d'un message Non trouvé via une boite à message msgbox
_ MsgBox "Non trouvé"
Fin du test
_ End If
Fin de la routine
_ End Sub