Code ne marchant pas

Résolu
Bonjour,

Le code se trouvant dans le fichier si dessous ne marche pas, je ne vois pas l'erreur.
Code étant dans l'userform "Mouvements" Lors du click sur le premier "Ok".

Pouvez-vous m'éclairer ?

https://www.cjoint.com/?3LpmmwtyZG1

Merci,

DGVDR

7 réponses

  1. Rebonjour,

    Autre avancée, autre problème :

    Toujours à partir du même userform j'aimerai pouvoir supprimer une ligne si la cuve est soldée (vidée) par mon mouvement.

    La suppression fonctionne très bien sauf que l'incrémentation de la cuve réceptrice ne se fait pas.

    https://www.cjoint.com/?3LppN5jpOwf

    Remarque : L'incrémentation et la suppression se font bien lorsque j'incrémentes d'une cuve émétrice se trouvant dans une ligne ayant un indice supérieur vers une cuve se trouvant dans une ligne avec un indice inférieur.

    Merci de votre aide,

    DGVDR
    1. Bonjour,

      Comme écrit ci-dessus , problème résolu.

      Merci f894009,

      Merci jordane45 pour ton temps, je suis aller au plus simple et j'ai simplement changer la déclaration des variables.

      Damien
      1. Modérateur
        Bonjour,

        Tu peux tester ceci :

        Private Sub CommandButton1_Click()
        Dim cuvee As Integer
        Dim cuver As Integer
        Dim vol As Integer
        Dim valDI As Integer
        With Worksheets("Cuvées")
        derlig = .Range("D65536").End(xlUp).Row
        cuvee = Int(ComboBox1.Value)
        cuver = Int(ComboBox2.Value)
        vol = Int(TextBox1.Value)
         For i = 9 To derlig
           valDI = Int(.Range("D" & i).Value)
           If valDI = cuvee Then
              .Range("N" & i).Value = .Range("N" & i).Value - vol
           End If
           If valDI = cuver Then
              .Range("N" & i).Value = .Range("N" & i).Value + vol
           End If
         Next i
        End With
        
        Unload Me
        
        End Sub
        

        1. Bonjour,

          sert a rien de declarer des variables en integer et de faire une conversion pour les affecter
      2. Bonjour,

        Combobox ------> chaine de caractere(s)

        cellules format standard donc nombre pour Cuve

        declaration variables:

        Dim cuvee As Integer, cuver As Integer
        1. Bonjour f894009,

          En changeant cuvee et cuver en string la décrémentation de cuve se réalise bien, cependant l'incrémentation de la seconde ne se fait pas.

          Peux tu m'éclairer ?

          Merci,$

          DGVDR
        2. @DGVDRRebonjour,

          Problème résolu,

          En déclarant mes variables :

          Dim cuvee as string
          Dim cuver as string

          Plutôt que dim cuvee, cuver as string

          Merci,

          DGVDR
        3. Re,

          Pourquoi avoir declarer ces variable en string ???????????????????????

          parce moi ca marche le moins et le plus avec declaration en integer