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 :

Modification des cellules depuis UserForm [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 6
    Par défaut Modification des cellules depuis UserForm
    Bonjour, je ne comprends pas pourquoi le code ci-dessous ne fonctionne pas alors que je n'est aucun message d'erreur. Mon but est de modifier la valeur des cellules d'une feuille depuis un userform. Merci d'avance pour votre aide.

    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
    Private Sub CommandButton2_Click()
     
        Dim ligne As Integer
        Dim i As Range
     
      Set i = Sheets("Clients").Cells.Find(Me.ComboBox1.Value)
     
    ligne = i.Row
     
        With Sheets("Clients")
        .Cells(ligne, 1).Value = TextBox1.Value
        .Cells(ligne, 2).Value = TextBox2.Value
        .Cells(ligne, 3).Value = TextBox3.Value
        .Cells(ligne, 4).Value = TextBox4.Value
        .Cells(ligne, 5).Value = TextBox5.Value
        .Cells(ligne, 6).Value = TextBox6.Value
        .Cells(ligne, 7).Value = TextBox7.Value
        End With
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Qu'est-ce qui ne fonctionne pas au juste ?
    Que retourne Ligne lorsque tu passes la ligne 8 ?


    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
     Private Sub CommandButton2_Click()
     
       Dim ligne As Integer
       Dim i As Range
     
       Set i = Sheets("Clients").Cells.Find(Me.ComboBox1.Value)
     
       ligne = i.Row
     
       With Sheets("Clients")
          .Cells(ligne, 1).Value = TextBox1.Value
          .Cells(ligne, 2).Value = TextBox2.Value
          .Cells(ligne, 3).Value = TextBox3.Value
          .Cells(ligne, 4).Value = TextBox4.Value
          .Cells(ligne, 5).Value = TextBox5.Value
          .Cells(ligne, 6).Value = TextBox6.Value
          .Cells(ligne, 7).Value = TextBox7.Value
       End With
     End Sub
    PS: quand tu mets du code, utilise le bouton # en haut du message pour le baliser.
    Et utilise l'indentation pour une meilleure lecture.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 6
    Par défaut
    Très bien je ne savais pas comment baliser le code car je suis nouveau.

    Mon problème est que rien n'est modifié lorsque je clique sur mon bouton.

    Projet.xlsm

    Le code se trouve dans le UserForm4.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Change cette partie.
    Le fait d'utiliser RowSource cause un retour dans Combobox1_Change qui a pour effet de réinitialiser les changements que tu viens de faire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
     
    Me.ComboBox1.Clear
    Me.ComboBox1.List = Sheets("Clients").Range("A2:A" & Sheets("Clients").Cells(2, 1).End(xlDown).Row).Value
     
    End Sub

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 6
    Par défaut
    Merci beaucoup pour ton temps, tu n'imagine même pas à quel point tu vient de m'aider.

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

Discussions similaires

  1. Modifier contenu des cellules via userform
    Par maximob dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/02/2015, 17h08
  2. [Toutes versions] Verifier la valeur de la cellule d'à coté suite modification des cellules d'une colonne
    Par sebing dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/05/2014, 11h23
  3. envoyer des données depuis cellules excel à une table access
    Par alaouiyassine01 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2007, 17h39
  4. [VBA] Gérer la taille des cellules lors de l'envoi de mail depuis excel
    Par Arschney dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/06/2007, 10h58
  5. Réponses: 5
    Dernier message: 08/03/2007, 10h13

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