IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

probleme de boucle [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut probleme de boucle
    j' ai un userform qui apres validation marche,mais si je décide de modifier une colonne du produit café la seconde prend la valeur intial de lait.
    T1 ET T2 prennent les valeurs précendes car il se pourrait arriver que je ne modifie q'une valeur.
    je voulai quelq'un pour m'aidé à solutionner ce probleme et m'aidé à bouclé
    en voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub CommandButton1_Click()
    Dim T1
    Dim T2
    T1 = Sheets("feuil1").Range("B5").Value
    T2 = Sheets("feuil1").Range("C5").Value
    If Me.TextBox1.Text <> "" Then
            T1 = Me.TextBox1
    End If
    If Me.TextBox2.Text <> "" Then
            T2 = Me.TextBox2
    End If
    If ComboBox1.Value = "lait" Then
    Sheets("feuil1").Range("B5").Value = T1
    Sheets("feuil1").Range("C5").Value = T2
    Unload Me
    End If
    If ComboBox1.Value = "café" Then
    Sheets("feuil1").Range("B6").Value = T1
    Sheets("feuil1").Range("C6").Value = T2
    Unload Me
    End If

  2. #2
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    Pas besoinde passer par des variables pour recuperer la valeur initiale.
    Si tu ne saisis rien tu ne fais rien (le valeur restera celle d'origine)...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub CommandButton1_Click()
        Dim Ligne As Integer
     
        If combobox1.Value = "lait" Then
            Ligne = 5
        ElseIf combobox1.Value = "cafe" Then
            Ligne = 6
        End If
     
        If Me.TextBox1.Text <> "" Then
            Sheets("feuil1").Range("B" & Ligne).Value = Me.texbox1
        End If
     
        If Me.TextBox2.Text <> "" Then
            Sheets("feuil1").Range("C" & Ligne).Value = Me.texbox2
        End If
        Unload Me
    End Sub
    ++
    Minick

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    je modifie ma feuille excel par un ecran de mo userform,si je ne modifie pas la cellule la valeur devient nulle,c'est pour cette raison que j'utilise t1 et t2.

  4. #4
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Desole mais je ne comprend pas ce que tu veux...

    Essaies ca mais sans certitude:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub CommandButton1_Click()
        Dim Ligne As Integer
        Dim SaisieCafe as boolean
     
        If combobox1.Value = "lait" Then
            Ligne = 5
        ElseIf combobox1.Value = "café" Then
            Ligne = 6
            SaisieCafe = True
        End If
     
        If Me.TextBox1.Text <> "" Then
            Sheets("feuil1").Range("B" & Ligne).Value = Me.texbox1
        elseif SaisieCafe then
            Sheets("feuil1").Range("B" & Ligne).Value=Sheets("feuil1").Range("B" & Ligne-1).Value
        End If
     
        If Me.TextBox2.Text <> "" Then
            Sheets("feuil1").Range("C" & Ligne).Value = Me.texbox2
        elseif SaisieCafe then
            Sheets("feuil1").Range("C" & Ligne).Value=Sheets("feuil1").Range("C" & Ligne-1).Value
        End If
        Unload Me
    End Sub
    Si tu saisies dans cafe etque l'un des TextBox est vide on prend la valeur de lait (sur la ligne precedente)

    ++
    Minick

  5. #5
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    j'ai un tableau a deux ligne 2 colonnes je veux cree un ecran(userform) qui les met à jour.si une valeur est modifié que l'autre consserve la valeur précéende car il peu arrivé que tu ne veux modifié qu'un valeur donc l'autre doit être inchangé,ça me préoccupe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de boucle a s arracher les cheuveux
    Par calimero642 dans le forum Langage
    Réponses: 6
    Dernier message: 16/03/2006, 15h44
  2. Probleme de boucle avec des processus sous UNIX
    Par sebastieng dans le forum POSIX
    Réponses: 6
    Dernier message: 15/10/2005, 19h57
  3. [Language]Problème de boucle
    Par marc_dd dans le forum Langage
    Réponses: 11
    Dernier message: 06/10/2005, 15h24
  4. Problem de boucle.....
    Par skad dans le forum C++
    Réponses: 6
    Dernier message: 29/09/2005, 17h28
  5. [C#] Probleme de boucle for et random
    Par Freeman166 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/01/2005, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo