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 :

A partir d'un formulaire mettre des infos les unes en-dessous des autres


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut A partir d'un formulaire mettre des infos les unes en-dessous des autres
    Bonjour le forum,

    Dans un formulaire (FrmAdhé) j'ai différentes zones à remplir.
    Lorsque je valide par le bouton "Valider", je souhaiterai que les informations se mettent les unes en dessous des autres dans la feuille "Enf"

    Je vous ai mis un fichier en pièce jointe pour mieux comprendre mon souhait.

    De plus, je ne sais pas comment faire pour qu'à chaque enfant on puisse choisir "garçon ou fille" sans que les autres ButtonOption déjà validé le reste.
    Merci pour votre aide

  2. #2
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    J'ai mis le fichier joint à jour, ce n'était pas le bon.
    Je vous présente mes excuses

  3. #3
    Membre éprouvé
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Points : 1 079
    Points
    1 079
    Par défaut
    Bonjour,

    Pour que les boutons radio n'interagissent pas entre eux (un seul coché sur tout le formulaire) il faut que tu mettes chaque couple de bouton dans un frame.
    Crée d'abord le frame et positionne tes boutons dedans.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    En effet comme vous le dit Ouisansdoute il faut placer les boutons d'options par groupe de 2 dans un "Frame".

    Cela dit avant de vous proposer un code, ne pensez vous pas qu'il serait plus simple de ne mettre que les objets permettant de créer un seul enfant à la fois et de mettre par exemple un "Frame" avec le titre "Autre enfant ?" et deux Boutons d'options "OUI", "NON".

    Lors de la validation, si vous avez cliqué sur "OUI" le N° d'adhérent restera affiché.

    Peut-être prévoir aussi un bouton de commande "ANNULER" (vous avez cliqué sur "OUI" par erreur).

    Vous pouvez avoir sans doute à créer un nouvel enfant pour un adhérent existant. Dans ce cas ne serait-il pas mieux d'utiliser un Combobox pour entrer un nouvel adhérent ou sélectionner un adhérent existant plutôt qu'un Textbox ?

    Le code serait beaucoup plus simple à écrire avec ces modifications.

    Mais ce ne sont que des propositions. A mon avis il vaut mieux y réfléchir avant qu'après.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Voici le fichier mis à jour, j'ai ajouté des frames

    Jacques Jean, ton idée est bonne. Je vais l'étudier.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Votre base de données comporte en colonne A ce qui ressemble à un numéro d'enregistrement séquentiel.

    Est-ce que cela veut dire que le fichier n'est pas trié dans l'ordre des N° d'adhérents mais sur ce N° séquentiel ?

    Dans ce cas, si on ajoute un nouvel enregistrement pour un adhérent existant, celui-ci va donc se trouver à la fin de la base et non à la suite du dernier enregistrement existant pour cet adhérent ?

  7. #7
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour le forum,

    Le n° en colonne A est figé, seul le n° en colonne B est accrémenté.
    Le n° en colonne A ne sert que pour indiquer le nombre d'enregistrement, il n'est qu'indicatif.

    J'ai refait le formulaire

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour à tou(te)s,

    un bout de code à terminer si c'est ça que tu veux, NEC14 :
    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 x As Integer
    x = Range("c65000").End(xlUp).Row + 1
    Range("b" & x) = TEnf0
    Range("c" & x) = TEnf1
    Range("d" & x) = TEnf2
    Range("e" & x) = Format(TEnf3, "dd/mm/yyyy")
    If Opt1 = vrai Then: Range("f" & x) = "M"
    If Opt2 = vrai Then: Range("f" & x) = "f"
    Range("g" & x) = Round((Date - Range("e" & x)) / 365.25, 0)'l'age se calcule seul
    x = Range("c65000").End(xlUp).Row + 1
    If TEnf7 <> "" Then
    Range("b" & x) = TEnf5
    Range("c" & x) = TEnf6
    Range("d" & x) = TEnf7
    Range("e" & x) = Format(TEnf8, "dd/mm/yyyy")
    If Opt3 = vrai Then: Range("f" & x) = "M"
    If Opt4 = vrai Then: Range("f" & x) = "f"
    Range("g" & x) = Round((Date - Range("e" & x)) / 365.25, 0)
    End If
    End Sub

  9. #9
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour casefayere,

    Ton code ne fonctionne pas pour ce que je veux faire. Lorsque je remplie toutes les zones, seules les données du 1er enfant sont correctement mises en place dans le fichier, les autres se trouvent écrasées les unes par rapport aux autres.
    Ce que je souhaite mettre en place c'est un code qui mets les données de chaque frame les unes en dessous des autres. Si je rempli 3 frames par exemple donc en ligne 1 (frame1) en 2 (frame2) en 3 (frame3).
    Biensûr si ces lignes sont vides sinon on passe aux suivantes.

    J'ai retiré de ce post les exemples qui ne servent plus

  10. #10
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    et si tu mets entre chaque calcul plutot que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = Range("c65000").End(xlUp).Row + 1
    tu mets soit :
    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
    Private Sub CommandButton1_Click()
    Dim x As Integer
    x = Range("c65000").End(xlUp).Row + 1
    Range("b" & x) = TEnf0
    Range("c" & x) = TEnf1
    Range("d" & x) = TEnf2
    Range("e" & x) = Format(TEnf3, "dd/mm/yyyy")
    If Opt1 = vrai Then: Range("f" & x) = "M"
    If Opt2 = vrai Then: Range("f" & x) = "f"
    Range("g" & x) = Round((Date - Range("e" & x)) / 365.25, 0)'l'age se calcule seul
    If TEnf7 <> "" Then
    x = x + 1
    Range("b" & x) = TEnf5
    Range("c" & x) = TEnf6
    Range("d" & x) = TEnf7
    Range("e" & x) = Format(TEnf8, "dd/mm/yyyy")
    If Opt3 = vrai Then: Range("f" & x) = "M"
    If Opt4 = vrai Then: Range("f" & x) = "f"
    Range("g" & x) = Round((Date - Range("e" & x)) / 365.25, 0)
    End If
    'et la suite
    End Sub

  11. #11
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Merci casefayere c'est exactement ce que je cherchais.
    Mille merci à tous

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

Discussions similaires

  1. [Toutes versions] compléter une table avec des infos d'une autre table
    Par ttfme dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/03/2015, 13h17
  2. Réponses: 4
    Dernier message: 21/10/2009, 11h17
  3. Placer des images les unes a coté des autres
    Par superjeanpi dans le forum Beamer
    Réponses: 3
    Dernier message: 19/11/2008, 08h00
  4. Placer des table les unes par rapport aux autres.
    Par IyF33 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 03/07/2008, 09h29
  5. Coller cellules les unes en dessous des autres
    Par sethipremier dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/01/2007, 14h18

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