IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Manipulation VBA et Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut Manipulation VBA et Excel
    Bonjour à tous
    Voila je débute totalement en VB et j'ai à effectuer une gestion de stock sur Excel à l'aide de code barre.
    Bon j'ai déja fait un UserForm avec mes divers labels et TextBox.
    J'ai donc un textbox qui me permet d'afficher le texte du code barre lu et lance la recherche dans le classeur excel correspondant. Ceci fonctionne.
    j'ai utilisé la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("STOCK").Columns(1).Cells.Find(What:=SCANNE.Text).Activate
    Donc la reférence du produit se trouve en colonne A (1) et le text scanné s'affiche dans la textBox SCANNE.

    Mon problème est que je souhaite décrémenter la quantité correspondant au produit qui se trouve sur la meme ligne mais colonne B.

    Je ne sais donc pas comment réaliser ceci.
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range(Cells(ActiveCell, 2)) = Range(Cells(ActiveCell, 2)) - 1
    mais un message d'erreur s'affiche et surtout le plus embêtant c'est que le code lu s'arrete à 1 caractere.

    Pourriez vous s'il vous plait m'orienter, j'ai vraiment du mal à gerer tout ceci

    En vous remerciant par avance

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Feuil1").Cells(ActiveCell.Row, 2).Value = Sheets("Feuil1").Cells(ActiveCell.Row, 2).Value - 1
    Sheets() pour sélectionner la feuille
    Cells()pour choisir la cellule
    Activecell.row numero de ligne de la cellule active
    2 colonne voulue
    .value pour travailler sur la valeur.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    ah oui d'accord,
    bon je pouvais encore chercher un moment !!!

    Merci beaucoup

    Mon autre probleme vient de ceci :

    J'ai ce code qui correspond à la recherche dans le classeur du texte écrit dans la textBox "SCANNE". A savoir que ma douchette fait la fin de ligne en simulant l'appui sur la touche entrée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub SCANNE_Change()
     
    Sheets("STOCK").Columns(1).Cells.Find(What:=SCANNE.Text).Activate ' recherche la chaine de char 
     
    End Sub
    J'aurai en fait voulu réaliser la décrémentation de la colonne 2, donc du code que m'a gentiment envoyé Pascal Lob, une fois que la douchette a renvoyé la touche "entrée"

    parce que pour l'instant si j'applique les deux codes comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub SCANNE_Change()
     
    Sheets("STOCK").Columns(1).Cells.Find(What:=SCANNE.Text).Activate ' recherche la chaine de char
     
    ' fonction de remplacement de la qté
    Sheets("STOCK").Cells(ActiveCell.Row, 2).Value = sheets("STOCK").Cells(ActiveCell.Row, 2).Value - 1
     
    End Sub
    Et bien cela fonctionne mais je fait -1 à chaque caractère, c'est à dire que si j'ai 17 pieces restantes, et que mon code est par exemple RESISTANCE, alors il va m'en rester 7 car RESISTANCE possède 10 lettres....

    Merci beaucoup encore par avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [vba - excel] manipuler plusieurs fichers excels à la suite
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/09/2006, 16h11
  2. [VBA-E] [Excel] Protection d'une plage de cellules
    Par fikou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/11/2002, 11h28
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  5. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo