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 :

Modifier contenu des cellules via userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 37
    Par défaut Modifier contenu des cellules via userform
    Bonjour les amis,

    je cherche à corriger mon code vba pour modifier une ligne excel (B:F) & (L), (N) & (P) sachant que :

    - la saisie se passe par un textbox de B8 à B57.
    - les collolnnes concernées sont B,C,D,E,F,L,N & P.

    J'ai un bouton modifier (qui modifie uniquement la cellule B) alors que les autres restent inchangées !!!!!!!!
    y a t il un bug dans mon code de l'USERFORM4 ?????

    merci

    Voici mon fichier : http://cjoint.com/?0BAtd22vK2n

  2. #2
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Citation Envoyé par maximob Voir le message
    y a t il un bug dans mon code de l'USERFORM4 ?????
    changer ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TextBox1.Value
    TextBox2.Value
    TextBox3.Value
    CboMontant.Value
    pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TextBox1.text
    TextBox2.text
    TextBox3.text
    CboMontant.text

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 37
    Par défaut
    merci d'abord pour le temps consacré à mon poste, suite à ta proposition, le problème persiste. la cellule B seule qui change et les autres C,D,E& F non...

    peut tu me donner une autre solution ???

  4. #4
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    enlever ce sub

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub CboLigne_Change()
     Dim Cell As Range
    Dim Usd As Long
     
    Usd = CboLigne.Value
     
         For Each Cell In Sheets("REMISE").Range("Rang")
            If Cell.Value = Usd Then
     
                With TextBox1
                    .Value = Cell.Offset(0, 1).Value
                    .Enabled = True
                End With
                 With ComboBox1
                    .Value = Cell.Offset(0, 2).Value
                    .Enabled = True
                End With
                With TextBox3
                    .Value = Cell.Offset(0, 3).Value
                    .Enabled = True
                End With
                With TextBox2
                    .Value = Cell.Offset(0, 4).Value
                    .Enabled = True
                End With
                 With CboMontant
                    .Value = Cell.Offset(0, 5).Value
                    .Enabled = True
                End With
     
                Exit For
            End If
        Next Cell
     
     
     
            Cancel = True
    End Sub
    Faite plutôt ceci

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Dim Ne_pas_CboLigne_Change As Boolean
     
    Private Sub CboLigne_Change()
     Dim Cell As Range
    Dim Usd As Long
     
    Usd = CboLigne.Value
     
    If Ne_pas_CboLigne_Change = True Then
     
         For Each Cell In Sheets("REMISE").Range("Rang")
            If Cell.Value = Usd Then
     
                With TextBox1
                    .Value = Cell.Offset(0, 1).Value
                    .Enabled = True
                End With
                 With ComboBox1
                    .Value = Cell.Offset(0, 2).Value
                    .Enabled = True
                End With
                With TextBox3
                    .Value = Cell.Offset(0, 3).Value
                    .Enabled = True
                End With
                With TextBox2
                    .Value = Cell.Offset(0, 4).Value
                    .Enabled = True
                End With
                 With CboMontant
                    .Value = Cell.Offset(0, 5).Value
                    .Enabled = True
                End With
     
                Exit For
            End If
        Next Cell
     
     
     
            Cancel = True
    End If
     
    End Sub

    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
    25
    26
    27
    Private Sub CmdValider_Click()
    Dim Cell As Range
    Dim Usd As Long
     
    Ne_pas_CboLigne_Change = False
     
    Usd = CboLigne.Value
     
         For Each Cell In Sheets("REMISE").Range("Rang")
            If Cell.Value = Usd Then
                    Cell.Offset(0, 1).Value = UCase(TextBox1.Value)
                    Cell.Offset(0, 2).Value = ComboBox1.Value
                    Cell.Offset(0, 3).Value = (TextBox2.Value)
                    Cell.Offset(0, 4).Value = (TextBox3.Value)
                    Cell.Offset(0, 5).Value = CboMontant.Value
                Exit For
            End If
        Next Cell
     
     
     
     
        Unload Me
     
        MsgBox "Modification(s) effectuée(s) au rang n°" & CboLigne.Value, vbInformation, "Modification rang n°" & CboLigne.Value
     
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub UserForm_Initialize()
     
    Ne_pas_CboLigne_Change = True
     
    CboLigne.RowSource = ("REMISE!Rang")
     
    ComboBox1.RowSource = ("REMISE!Banque")
     
    CboMontant.RowSource = ("REMISE!MONTANT")
     
     
     
    End Sub

  5. #5
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 37
    Par défaut
    impeccable, introuvable, et ça se voit. merci

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

Discussions similaires

  1. [uitable] Modifier la taille et le contenu des cellules
    Par niss21 dans le forum Interfaces Graphiques
    Réponses: 14
    Dernier message: 16/06/2011, 14h14
  2. Remplacer le contenu des cellules de destination
    Par cyraile dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/11/2006, 08h23
  3. Réponses: 2
    Dernier message: 19/06/2006, 14h05
  4. [VBA]comptage de lignes en fonction du contenu des cellules
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/12/2005, 11h38
  5. [JTable]Aligner le contenu des cellules
    Par )3lade dans le forum Composants
    Réponses: 2
    Dernier message: 09/03/2004, 13h24

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