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. 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
  2. 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
  3. 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. 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