Code ne marchant pas

Résolu
DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   -  
DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

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

    cellules format standard donc nombre pour Cuve

    declaration variables:

    Dim cuvee As Integer, cuver As Integer
    0
    1. DGVDR
       
      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
      0
      1. DGVDR > DGVDR
         
        Rebonjour,

        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
        0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

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

      parce moi ca marche le moins et le plus avec declaration en integer
      0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    

    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      sert a rien de declarer des variables en integer et de faire une conversion pour les affecter
      0
  3. DGVDR
     
    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
    0
  4. DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    je regarde la chose

    A+
    0
  7. DGVDR Messages postés 158 Date d'inscription   Statut Membre Dernière intervention  
     
    Parfait,

    Merci de ton aide précieuse.

    DGVDR
    0