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 :

Bug saisie de données userform dans tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Par défaut Bug saisie de données userform dans tableau
    Bonjour à tous les amis,
    Petit problème de bug dans mon code :

    Pour faire un gestionaire de recettes, j'ai créé une première userform "créer_recette" ou on saisit le nom de la recette, sa catégorie et le nombre de personnes.
    On clique sur "continuer et ajouter des ingrédients", les informations nom_recette et nombre_de_personnes se saisissent dans le tableau de la feuille gestion des recettes.
    Ensuite une nouvelle userform "ingredient_recette" s'affiche avec ajouter un ingrédient. Tant que l'on clique sur ingrédient suivant les informations "nom_ingredient" et "quantite" se saisissent dans le tableau et la userform se réinitialise de manière à pouvoir ressaisir un nouvel ingréidient. Quand on a terminé, l'information se saisit mais la userform se ferme.


    Seulement :
    -mes formules pour saisir les données de la userform "creer_recette" et "ingredient_recette" dans le tableau ne marchent pas (même problème que le fichier précédent)
    -la formule dans "ingredient_recette" qui devrait ajouter les ingrédients en "A" de la feuille "ingrédients" ne marche pas.

    Pourriez vous m'aider ? Je ne comprend pas pourquoi ça ne fonctionne pas.

    Je joint le fichier.

    Merci de votre aide

    ps : Je suis désolé si la présentation n'est pas soignée, je suis au début de la création.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Le texte de Pierre Fauconnier est extrêmement clair : Pas de *&?%$/"/%&()_)_)&?%$ de fichier-joint à la première question.

    Et puis tu as un triangle qui indique une erreur dans ta colonne Prix unitaire. Clique sur une cellule avec un triangle, clique sur le point d'exclamation et agis en conséquence.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Par défaut
    D'accord, je supprime le fichier, mais il faut avouer que c'est quand même plus pratique pour comprendre le cas.

    En bref, j'utilise une formule pour que les informations d'une userform se saisissent dans un tableau :

    je définis mes variables : dim textbox1 as string et dim textbox2 as integer (un texte et une valeur numérique)
    j'affecte mes variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    textbox1 = a
    textbox2 = b
    Le problème arrive ici je pense
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Sheets("nom_de_la_feuille")
     
    derligne = Cells(Rows.Count, "A").End(xlUp).Row + 1
     
    .Range("B" & derligne).Value = a
    .Range("C" & derligne).Value = b
     
    End With
    a et b sont des textbox.

    Mais Les valeurs de a et b ne se saisissent pas dans le tableau.

    Deuxième problème, pour que les données d'un tableau soient saisis dans ma combobox, j'utilise la formule suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub initialize()
    Me.nom_listbox = Application.Transpose(Range(Sheets("feuille en question").[A2], Sheets("feuille en question").[A65000].End(xlUp)))
    End Sub
    Pourriez-vous me corriger ?

    J'espère avoir été clair

    Pour respecter la charte du forum, j'ai supprimé mon fichier joint, je le rajouterai si il est nécessaire à votre compréhension.

    Merci !

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Et puis tu as un triangle qui indique une erreur dans ta colonne Prix unitaire. Clique sur une cellule avec un triangle, clique sur le point d'exclamation et agis en conséquence.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Par défaut
    Oui en effet merci, je n'ai pas défini le prix unitaire as integer, donc il se convertissait en texte.
    Mais ça n'explique pas mon erreur dans la userform de création de recette (code indiqué précédemment)

    Merci !

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je me suis laissé attendrir. Il te reste juste à faire les ajustements qui s'imposent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub enhaut()
          DernièreLigne = Range("A65536").End(xlUp).Row + 1
    End Sub

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 15
    Par défaut
    Ok super merci beaucoup Nicolasmarcotte, ça marche bien, je l'ai réutilisée plusieurs fois !

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

Discussions similaires

  1. [XL-2003] Saisie de données automatique dans une cellule
    Par yfchauer dans le forum Excel
    Réponses: 3
    Dernier message: 02/01/2013, 06h24
  2. Comment mettre les saisies d'un UserForm dans une feuille
    Par Condekilo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/05/2011, 16h13
  3. Filtre données positives dans tableau
    Par benidget dans le forum QlikView
    Réponses: 6
    Dernier message: 16/12/2010, 08h21
  4. Lecture données importantes dans tableau
    Par TiTiSeb dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 13/07/2007, 15h00

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