Erreur Module Sortie (Résolu) Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 31 juillet 2015, 03:17

Bonjour,
Je me dirige vers vous car je ne comprends pas pourquoi dans ma feuille "Sortie" toutes les infos n'arrivent pas dans la feuille "MVT".
Le code module:
  • Sub sortie_stock()
    'je definie la dernière ligne
    derlig = Sheets("Sorties").Cells(Cells.Rows.Count, "A").End(xlUp).Row
    derligstock = Sheets("Inventaire").Cells(Cells.Rows.Count, "A").End(xlUp).Row
    derligjourn = Sheets("MVT").Cells(Cells.Rows.Count, "A").End(xlUp).Row
    ' Sortie ====> Inventaire
    'je parcours les lignes des entrées
    For Each C In Sheets("Sorties").Range("A4:A" & derlig)
    'je parcours les lignes de l'inventaire
    For Each d In Sheets("Inventaire").Range("A4:A" & derligstock)
    'si article stock = article entrée alors
    If C = d Then
    'valeur inventaire + valeur entrée
    d.Offset(0, 5) = d.Offset(0, 5) + C.Offset(0, 1)
    End If
    Next
    Next
    ' Sortie ====> Mouvement
    derligjourn = derligjourn + 1
    'je parcours les lignes des sorties
    For Each C In Sheets("Sorties").Range("A4:A" & derlig)
    'je m'assure que la sortie n'est pas vide pour éviter une insertion d'une ligne vide
    If C <> "" Then
    'je saisie que c'est une sortie
    Sheets("MVT").Range("A" & derligjourn).Value = "Sorties"
    'je saisie la designation
    Sheets("MVT").Range("A" & derligjourn).Offset(0, 1) = C
    'je saisie la quantité
    Sheets("MVT").Range("A" & derligjourn).Offset(0, 2) = C.Offset(0, 1)
    'je saisie la date
    Sheets("MVT").Range("A" & derligjourn).Offset(0, 5) = Date
    'j'incremente le numéro de ma derniere ligne
    derligjourn = derligjourn + 1
    End If
    Next
    'après les entrées je supprime mes lignes
    DLig = Sheets("Sorties").Range("B" & Rows.Count).End(xlUp).Row
    ' Pour chaque ligne de la dernière à la 4me je les supprime
    For lig = DLig To 4 Step -1
    Rows(lig).Delete
    Next
    MsgBox "Sortie de stock terminée"
Modifié en dernier par Le_Troll_Du_27 le 1 août 2015, 12:48, modifié 1 fois.
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
BrunoM45
Modérateur
Modérateur
Messages : 3'453
Appréciations reçues : 144
Inscrit le : 29 octobre 2011
Version d'Excel : 2016 FR, O365 FR
Contact :

Message par BrunoM45 » 31 juillet 2015, 04:45

Bonjour
Je me dirige vers vous car je ne comprends pas pourquoi dans ma feuille "Sortie" toutes les infos n'arrivent pas dans la feuille "MVT".
Tu veux rire :roll: je pense qu'à cette heure ci tu es trop fatigué... Ptdr

Que te dis ces lignes de codes :?: :?:
  For Each C In Sheets("Sorties").Range("A4:A" & derlig)
    'je m'assure que la sortie n'est pas vide pour éviter une insertion d'une ligne vide
    If C <> "" Then
      'je saisie que c'est une sortie
      Sheets("MVT").Range("A" & derligjourn).Value = "Sorties"
      'je saisie la designation
      Sheets("MVT").Range("A" & derligjourn).Offset(0, 1) = C
      'je saisie la quantité
      Sheets("MVT").Range("A" & derligjourn).Offset(0, 2) = C.Offset(0, 1)
      'je saisie la date
      Sheets("MVT").Range("A" & derligjourn).Offset(0, 5) = Date
      'j'incremente le numéro de ma derniere ligne
      derligjourn = derligjourn + 1
    End If
  Next
T'es vraiment le Trol du 27 :lol:
[F1] est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses

Il n'y a ni bon ni mauvais usage de la liberté d'expression, il n'en existe qu'un usage insuffisant.
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 31 juillet 2015, 05:59

Dsl BrunoM45 je ne suis pas informaticien. Comme je l'ai cité je débute et les bases que j'ai , sont d'époque. Le Vba c'est tout nouveau pour moi.
J'ai vu la ligne de code. Je sais qu'elle est là, et j'ai essayé plusieurs lignes de commandes et à chaque fois çà beugué .Pour le forum j'ai préféré le remettre à l'origine.
C'est pourquoi que j'ai posté tel quel au lieu du bordel que j'avais écris.
Il me reste plus que ceci et je suis tranquille. Si tu veux me donner ton aide je prends.
Sur ceux, cordialement
Laurent
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
BrunoM45
Modérateur
Modérateur
Messages : 3'453
Appréciations reçues : 144
Inscrit le : 29 octobre 2011
Version d'Excel : 2016 FR, O365 FR
Contact :

Message par BrunoM45 » 31 juillet 2015, 08:24

Re,

juste comme ça, comment veux-tu évoluer si tu ne cherches pas à comprendre le code !?

J'ai pour citation :
donne du poisson à quelqu'un qui a faim, il mangera 1 jour
apprends lui à pêcher, il mangera toujours

Je t'ai montré la voie, annalyse un peu et tu comprendras...
[F1] est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses

Il n'y a ni bon ni mauvais usage de la liberté d'expression, il n'en existe qu'un usage insuffisant.
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 31 juillet 2015, 09:04

Pour encore me raconter Je t'ai fait voir ,tu débrouille Pas la peine que tu interviennes car " Crois-moi, vivre ignoré, c'est vivre heureux, et l'on ne doit pas s'élever au-dessus de sa sphère Je te l'ai dit je ne cromprends cette ecriture malgré tous les essais de ma part comme

Sheets("MVT").Range("A" & derligjourn).Offset(0, 6) = C
Sheets("MVT").Range("A" & derligjourn).Offset(0, 7) = C

ETC..........
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
BrunoM45
Modérateur
Modérateur
Messages : 3'453
Appréciations reçues : 144
Inscrit le : 29 octobre 2011
Version d'Excel : 2016 FR, O365 FR
Contact :

Message par BrunoM45 » 31 juillet 2015, 09:33

Re,
Le_Troll_Du_27 a écrit :Pour encore me raconter Je t'ai fait voir ,tu débrouille Pas la peine que tu interviennes car " Crois-moi, vivre ignoré, c'est vivre heureux, et l'on ne doit pas s'élever au-dessus de sa sphère Je te l'ai dit je ne comprends cette ecriture malgré tous les essais de ma part
Sache mon cher Troll que si j'interviens c'est pour ton bien :lol:
Et je penses que tu ne me connais pas, donc ne me parle pas de m'élever au dessus de ma sphère :evil: Ok

Je t'explicite ci dessous le code, si avec ça tu ne comprends pas, je dirais juste
Il n'y a pas plus sourd que celui qui ne veut pas entendre
:?
  ' Pour chaque cellule de A4 à la dernière ligne remplie
  For Each C In Sheets("Sorties").Range("A4:A" & derlig)
    ' Si la cellule A en cours n'est pas vide
    If C <> "" Then
      ' J'inscris dans la feuille MVT la cellule A dernière ligne
      ' le terme Sorties
      Sheets("MVT").Range("A" & derligjourn).Value = "Sorties"
      
      ' J'inscris dans la feuille MVT la cellule A dernière ligne, en décalant d'une colonne
      ' la valeur de la cellule
      ' On peut l'écrire également
      ' Sheets("MVT").Range("B" & derligjourn) = C
      Sheets("MVT").Range("A" & derligjourn).Offset(0, 1) = C
  
      ' J'inscris dans la feuille MVT la cellule A dernière ligne, en décalant de 2 colonnes
      ' la valeur de la cellule décalée d'une colonne
      ' On peut l'écrire également
      ' Sheets("MVT").Range("C" & derligjourn) = C.Offset(0, 1)
      Sheets("MVT").Range("A" & derligjourn).Offset(0, 2) = C.Offset(0, 1)
      
      ' J'inscris dans la feuille MVT la cellule A dernière ligne, en décalant de 5 colonnes
      ' la date du jour
      ' On peut l'écrire également
      ' Sheets("MVT").Range("F" & derligjourn) = C.Offset(0, 1)
      Sheets("MVT").Range("A" & derligjourn).Offset(0, 5) = Date
      
      'j'incremente le numéro de ma derniere ligne
      derligjourn = derligjourn + 1
    End If
  Next
A tchao
Modifié en dernier par BrunoM45 le 31 juillet 2015, 15:09, modifié 1 fois.
[F1] est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses

Il n'y a ni bon ni mauvais usage de la liberté d'expression, il n'en existe qu'un usage insuffisant.
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 31 juillet 2015, 13:59

Dsl Bruno mais ca ne fonctionne plus des que tu valides dans la feuille Sortie rien n'apparait sur MVT. J'ai certainement fait des erreurs, je coince de hier soir et j'ai la tète qui va exploser.

Cordialement
Le Troll du 27 (Laurent)
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
BrunoM45
Modérateur
Modérateur
Messages : 3'453
Appréciations reçues : 144
Inscrit le : 29 octobre 2011
Version d'Excel : 2016 FR, O365 FR
Contact :

Message par BrunoM45 » 31 juillet 2015, 15:58

Re,

Comme je n'aime pas laisser les âmes en peine ::D

Voici le lien vers ton fichier avec du code pour tes sorties que tu comprendras peut-être mieux :wink:
http://www.cjoint.com/c/EGFn5GIbeq0

A+
[F1] est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses

Il n'y a ni bon ni mauvais usage de la liberté d'expression, il n'en existe qu'un usage insuffisant.
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 31 juillet 2015, 17:39

Dsl je n'avais pas vu.
      'Sortie ====> Mouvement
    derligjourn = derligjourn + 1
    'je parcours les lignes des sorties
    For Each C In Sheets("Sorties").Range("A4:A" & derlig)
        'je m'assure que la sortie n'est pas vide pour éviter une insertion d'une ligne vide
        If C <> "" Then
            'je saisie que c'est une sortie
            Sheets("MVT").Range("A" & derligjourn).Value = [surligner]"Sorties"[/surligner]
            'je saisie la designation
            Sheets("MVT").Range("A" & derligjourn).Offset(0, 1) = C
            'je saisie la quantité
            Sheets("MVT").Range("A" & derligjourn).Offset(0, 2) = C.Offset(0, 1)
            'je saisie la date
            Sheets("MVT").Range("A" & derligjourn).Offset(0, 5) = Date
            'je saisi le nom
            Sheets("MVT").Range("A" & derligjourn).Offset(0, 6) = C.Offset(0, 4)
            'je saisi le n° du vélo
            Sheets("MVT").Range("A" & derligjourn).Offset(0, 7) = C.Offset(0, 5)
            'j'incremente le numéro de ma derniere ligne
            derligjourn = derligjourn + 1
        End If
    Next


mais ca me fait code erreur 1004

Et je viens essayé ton code et il plante aussi
' Sortie ====> Inventaire
      ' Mémoriser le libellé de l'article puisque la recherche ce fait dessus
      LibArt = .Range("A" & Lig).Value
      '
      ' Chercher la ligne correspondante dans l'inventaire
      [surligner]LigF = LigFind("Inventaire", "A:A", LibArt)[/surligner]      ' Si la ligne a été trovuée
      If LigF > 0 Then
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
BrunoM45
Modérateur
Modérateur
Messages : 3'453
Appréciations reçues : 144
Inscrit le : 29 octobre 2011
Version d'Excel : 2016 FR, O365 FR
Contact :

Message par BrunoM45 » 31 juillet 2015, 17:48

Re,

Dans le classeur que je t'ai mis à dispo, tu as un module qui s'appelle "Fonctions"
Ce module est à mettre également dans ton "vrai" fichier

A+
[F1] est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses

Il n'y a ni bon ni mauvais usage de la liberté d'expression, il n'en existe qu'un usage insuffisant.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message