Probleme avec procédure et userform excel vba

Résolu
Bonsoir le monde des spécialistes

j'ai deux soucis une fois de plus

1. les dates que je désire voir afficher automatiquement dans mon userform sont correctes. Mais lorsque je les recopie dans ma feuille bonsortie elles sont complétement erronées.

2. il semblerait que j'ai des problèmes avec mes variables concernant la gestion du matériel

quand je clique sur validation sortie matériel l'état du stockreel du materiel qui s'affiche
ne refléte pas l'opération effectuée. par exemple si je rentre une quantite égale au stock réél je devrais avoir dans le msgbox 0 ce qui n'est pas le cas et ma feuille stockmatl n'est pas modifiée.

Pouvez vous m'aider une fois de plus

merci

https://www.cjoint.com/?0KhtjLU1PP0

18 réponses

  1. Bonjour
    toujour pas terrible ton code

    pour la date le plus simple

    TextBox16.Value = DateValue(Now)
    ws.Range("C" & num2).Value = DateValue(TextBox16.Value)

    A+

    Maurice
    1. Re

      Private Sub UserForm_Terminate()
      With Feuil5
      Nlig = .Range("B" & Rows.Count).End(xlUp).Row + 1
      num1 = Nlig
      num1 = num1 + 1
      .Range("B" & num1).Value = "Grand total"
      num2 = .Range("C" & Rows.Count).End(xlUp).Row + 1
      num2 = num2 + 3
      .Range("B" & num2).Value = "Date de réservation"
      TextBox16.Value = DateValue(Now)
      .Range("C" & num2).Value = DateValue(TextBox16.Value)
      num3 = Nlig
      .Range("B" & num3).Value = "Moyen réservation"
      .Range("C" & num3).Value = dateres
      num4 = Nlig
      .Range("B" & num4).Value = "Date de retrait"
      .Range("C" & num4).Value = TextBox17.Value
      num5 = Nlig
      .Range("B" & num5).Value = "Heure de retrait"
      .Range("c" & num5).Value = TextBox22.Value
      num6 = Nlig
      .Range("B" & num6).Value = "Lieu rendez-vous"
      .Range("C" & num6).Value = TextBox23.Value
      num7 = Nlig
      .Range("B" & num7).Value = "Date de retour prévue"
      TextBox24.Value = DateValue(Now)
      .Range("C" & num7).Value = TextBox24.Value
      End With
      End Sub

      A+
      Maurice
      1. Bonjour Maurice
        suis revenu au bercail hier soir 13 nov
        suis désolé de te décevoir pour mon code ..

        y ai apporté quelques modifs selon tes indications

        mais
        j'ai encore des soucis
        quelques fois
        le montant de la colonne c apparait sous forme de date
        ou la date de réservation apparait sous forme julian
        ou meme chose pour la date de retrait

        lorsque je clique directement sur le bouton 2 sans entrer des informations
        les dates apparaissent sous leurs formes normales

        https://www.cjoint.com/?0KomgcDygkI

        peux tu m'aider une fois de plus

        merci
        1. Bonjour

          tu a pas changer grand chose HI

          pour eviter les probleme de format
          il faut le faire sur chaque cellules
          EX:

          Sub Macro4()
          Range("B12").Value = "Date de réservation"
          Range("B12").NumberFormat = "General"
          madate = "12/10/2014"
          Range("C12").Value = DateValue(madate)
          Range("C12").NumberFormat = "m/d/yyyy"

          Range("C16").Value = DateValue(Now)
          Range("C16").NumberFormat = "m/d/yyyy"
          ' Quantité
          Range("B6").Value = 10
          Range("B6").NumberFormat = "0"
          ' Montant
          Range("C6").Value = 10
          Range("C6").NumberFormat = "0.00"
          End Sub

          A+
          Maurice
          1. Maurice je ne comprends pas
            car l'emplacement des cellules peut varier en fonction du nombre de produits
            demandé et je peux commencer par sélectionner matl qui se trouve en deuxième sur ma liste de choix
            dans le cas ci-dessous j'ai entré deux lignes de vais et une ligne de matl
            la quantité de la première ligne affiche une date et la deuxième ligne est correcte et ici les deux dates sont correctes

            BON DE SORTIE DU 14/11/2014
            Particuliers ggggg

            Quantité : Montant :
            cuillers 1 10/01/1900
            Tasse 1 0,1

            Chaises 1 0,1

            Grand total

            Date de réservation 14/11/2014
            Date de retrait
            Heure de retrait
            Lieu rendez-vous
            Date de retour prévue 19/11/2014

            dans l'exemple ci-dessous je n'ai rentré que tu matl et la date de reservation est erronée

            BON DE SORTIE DU 14/11/2014
            Particuliers

            Quantité : Montant :

            Chaises 1 0,1

            Grand total

            Date de réservation 41957,00
            Date de retrait
            Heure de retrait
            Lieu rendez-vous
            Date de retour prévue 19/11/2014
            1. dans cet exemple je n'ai rentré que de la vais et appuyé sur le bouton confirmation
              et j'ai le montant erroné
              BON DE SORTIE DU 14/11/2014
              Particuliers

              Quantité : Montant :
              cuillers 1 10/01/1900
          2. Re
            Chaque cells il faut leur faire un format

            ex:
            num7 = .Range("C" & Rows.Count).End(xlUp).Row + 1
            .Range("B" & num7).Value = "Date de retour prévue"
            .Range("B" & num7).NumberFormat = "General"
            .Range("C" & num7).Value = DateValue(TextBox24.Value)
            .Range("C" & num7).NumberFormat = "m/d/yyyy"

            pour les nombres les text comme ca tu sera tranquil

            A+
            Maurice
            1. oui maurice il semblerait que je suis tranquille pour les dates avec ta modif
              mais maintenant j'ai toujours une date a la place du montant des cuillers
              et le grand total 11.00 correspondant bien aux trois montant

              si je selectionne tasse en premier (qui se trouve en deuxième position dans la liste) et ensuite cuillers et ensuite du materiel tout se déroule correctement
              si je selectionne tasse ensuite cuillers et ensuite tasses la date d'affiche alors
              au niveau des quantités de tasse entrées

              BON DE SORTIE DU 14/11/2014
              Particuliers ss

              Quantité : Montant :
              cuillers 1 10/01/1900
              Tasse 8 0,8

              Table pliante 6 pl 1 0,1

              Table pliante 8 pl 1 0,1

              Grand total 11,00

              Date de réservation 14/11/2014
              Date de retrait
              Heure de retrait
              Lieu rendez-vous
              Date de retour prévue 19/11/2014

              BON DE SORTIE DU 14/11/2014
              Particuliers

              Quantité : Montant :
              Tasse 1 0,1
              cuillers 1 10,00
              Tasse 01/01/1900 0,1

              Chaises 1 0,1

              Table pliante 6 pl 1 0,1

              Grand total 10,40

              Date de réservation 14/11/2014
              Date de retrait
              Heure de retrait
              Lieu rendez-vous
              Date de retour prévue 19/11/2014
              1. Maurice je te fais parvenir trois fichiers via cijoint
                en regardant dans la feuille bonsortie j'espère que tu pourras voir ce qui ce passe

                https://www.cjoint.com/c/DKpaXw35TSk
                dans feuille bonsortie total avec date en entrant uniquement le premier lot de la liste vaisselle: cueillers
                https://www.cjoint.com/?0Kpa66RQnFo
                en entrant d'abord le deuxieme lot vais puis le 1er et ensuite du matl
                tout est ok
                https://www.cjoint.com/?0KpbeR6cNJ5
                en choisissant materiel et en selectionnant le 1er poste puis en revenant sur vaisselle en selectionnant le 1er poste cuillers puis le 2eme poste tasse la quantité cuillers apparait sous forme de date mais le montant est correct
                1. Bonjour

                  voila un nouveau projet

                  http://cjoint.com/?3KpoWXfNaAE

                  a toi de voir si ca marche surtout la ListWien

                  A+

                  Maurice
                  1. c'est du travail de pro Maurice ...
                    ok je vais voir si ça marche mais je ne doute pas que ça ne marche pas

                    et surtout voir comment ça marche pour mon instruction

                    merci merci beaucoup maurice
                    1. Re
                      encore une nouvelle version

                      http://cjoint.com/?3KptphUMEDY

                      A+

                      Maurice
                      1. Bonjour

                        Voila avec Numero du bon sortie

                        http://cjoint.com/?3KqmnBfxhTQ

                        A toi de Joer

                        A+

                        Maurice
                        1. Bonjour Maurice
                          j'ai commencé à travailler sur ta dernière mouture.

                          Je voudrais modifier la liste se trouvant dans la combobox1 mais je ne la trouve pas dans les feuilles

                          je voudrais la modifier pour qu'elle similaire à la mienne "listeass"

                          merci
                          1. Re
                            tu la dans la derniere version HI

                            toutes les Combox sont dant la feuille Var(CodeName = F00)

                            A+
                            Maurice
                            1. Désolé Maurice je suis vraiment nul de nul
                              je suis bien allé sur la feuille VAR où j'ai tous les libellés mais comment accéder
                              à la combobox1?
                              Les données qui apparaissent dans la combobox1 ne sont pas ceux de la liste des associations "listeass" mais ceux d'une feuille userform1 nommée "civilité"
                              Comment puis je remplacer la feuille "civilité" par "listeass"

                              merci
                              1. Contributeur
                                Salut le Forum

                                Dans le module du UserForm Private Sub UserForm_Activate()
                                Dans le code remplace 18 (Colonne R) par 26 (Colonne Z)

                                ComboBox1.Clear
                                For L = 2 To .Cells(Rows.Count, 18).End(xlUp).Row
                                ComboBox1.AddItem .Cells(L, 18)
                                Next

                                Mytå
                                Merci de donner suite à votre question, nous ne sommes pas des robots...
                                « Si le déboguage est l'art d'enlever les bogues, alors la programmation doit être l'art de les créer. »
                                1. bonsoir Myta et pour Maurice

                                  merci Myta

                                  je n'avais consulté que les premières colonnes visibles sur la feuille