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 :

Userform - Tableau [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 8
    Par défaut Userform - Tableau
    Bonjour,

    j'ai un tableau avec 4 colonnes et je dois régulièrement entrer des nouvelles données dans ce tableau (nouvelle ligne à la fin avec nouvelles données). J'ai le code suivant :

    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
    Private Sub CommandButton1_Click()
           Dim lastRow As Long
           lastRow = Worksheets("Logos").Cells(Worksheets("Logos").Rows.Count,   1).End(xlUp).Row + 1
           Cells(lastRow, 1).Value = "=max(R3C1:RlastRowC1)"
           Cells(lastRow, 2).Value = Logo.Value
           Cells(lastRow, 3).Value = Clients.Value
           Cells(lastRow, 4).Value = Points.Value
      End Sub
     
      Private Sub CommandButton2_Click()
            Unload Me
      End Sub
     
       Sub NouvelleDonnée()
       UserForm1.Show
       End Sub
    Le problème c'est que ma formule "Cells(lastRow, 1).Value = "=max(R3C1:RlastRowC1)" " ne fontionne pas et que quand je clique sur le Commandbutton1 dans ma userform, celle-ci se répète sans arrêt...

    Est-il possible aussi de créer u nlien vers cet userform 2 lignes en dessous de mon tableau au lieu de devoir lancer la macro manuellement via le developer ?

    Un tout grand merci pour l'aide,

    Charles

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Si tu mets le nom de la variable entre guillemets, VBA le considère comme du texte et nom comme un nom de variable. Mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(lastRow, 1).Value = "=max(R3C1:R" & lastRow & "C1)"

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 8
    Par défaut
    Merci beaucoup !

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Et merci du retour. Marque la discussion comme résolue. Ça évitera que d'autres l'ouvrent pour chercher une solution.

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    J'ajoute que pour que le code soit fiable, il faudra indiquer partout la feuille à laquelle se rapportent les Cellules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
    Dim lastRow As Long
     
    With Worksheets("Logos")
        lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
        .Cells(lastRow, 1).Formula = "=max(R3C1:R" & lastRow & "C1)"
        .Cells(lastRow, 2).Value = Logo.Value
        .Cells(lastRow, 3).Value = Clients.Value
        .Cells(lastRow, 4).Value = Points.Value
    End With
    End Sub

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour Mercatog,

    On peut aussi ajouter le classeur pour être tout à fait sûr. Maintenant, comme on n'a qu'une partie du code, c'est peut-être superflu. Si, par exemple le userform est initié par un bouton sur la feuille recevant les données, c'est inutile.

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

Discussions similaires

  1. remplir un tableau à partir d'un userform
    Par julien p dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/12/2007, 12h14
  2. rapprt de tableau croisé dynamique sur un userform
    Par getule dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2007, 19h25
  3. [VBA-E] UserForm et Tableau
    Par franck.automaticien dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/04/2007, 17h56
  4. [VBA Excel] Tableau avec données du userform et de formules
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2006, 13h29

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