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 :

Macro enregistrement de données par formulaire dans base


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Avril 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 2
    Par défaut Macro enregistrement de données par formulaire dans base
    Bonjour à tous!

    Je suis nouveau sur le forum, débutant en VB et en macro, et je galère pas mal avec un travail que l'on m'a confié. Il s'agit à partir d'un formulaire (pas avec la fonction formulaire de Excel) d'enregistrer des informations dans une base de donnée. Je ne dispose pas d'Access donc je tente par défaut avec Excel...

    Je m'explique:
    J'ai une base de donnée qui recense des clubs de sport et je souhaite à partir d'un formulaire, appeler un club, saisir des informations le concernant (dates, contact...) et les transposer par une macro (copie/colle) dans la base à la place de la ligne correspondant au club appélé dans le formulaire.

    Mon problème est que je ne sais pas comment programmer la macro pour retrouver la ligne dans la base et coller à sa place la nouvelle entrée saisie dans le formulaire.

    J'ai beau cherché dans les forums et les tutoriels, je ne trouve pas de solution à mon problème et je ne comprends pas toujours les subtilités du langage VB. Tout ça pour dire, I NEED HELP... Je vous joins un condensé du fichier sur lequel je travail afin de mieux comprendre mon problème.

    Merci d'avance de vos réponses
    A+
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut
    Salut TomTom,

    je peux te donner quelques pistes :

    Avant ton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'La ça coince, je ne sais pas comment retrouver la ligne correspondant au n° de club saisie dans le formulaire'
        Range("A?:F?").Select
    pourquoi tu ne parcourrais pas ta colonne B, avec un petit while comme il faut, à la recherche du nom du club ?

    une fois que tu l'as trouvé, tu auras la ligne de ton club s'il existe

    Dans ton fichier excel tu indiques :
    Petit problème de format date, moi pas comprendre???
    quel est le problème ? j'ai regardé le format de la cellule et il est formater sur : jj/mm du coup si tu rentre 06/04/2009 la cellule t'affichera bien 06/04!

  3. #3
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    on va y aller par étape
    Pour trouver le nom du club
    utilise la fonction find
    pour une recherche dans la colonne A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'pour avoir l'adresse
    msgbox Range("A:A").Find("Nom du club A").Address
     
    'pour avoir la ligne
    msgbox Range("A:A").Find("Nom du club A").row

    Ps : je n'ai pas ouvert ton fichier il va faloir que tu adapte le code

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Juste avant la ligne
    'La ça coince, je ne sais pas comment retrouver la ligne correspondant au n° de club saisie dans le formulaire'
    place le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Worksheets("Base club").Range("A2:A100")
        a = .Find(Worksheets("Formulaire").Cells(2, 1), LookIn:=xlValues).Row
    End With
    a renvoie le n° de la ligne que tu cherches
    ensuite dans ton code à la place de range("A?:A?) utilise cells(a,1)

    Par contre ta démarche mériterait un UserForm ce serait + convivial

  5. #5
    Nouveau candidat au Club
    Inscrit en
    Avril 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 2
    Par défaut
    Merci pour vos réponses!!! Rapide et efficace

    N'étant pas très dégourdi, j'ai suivi la solution proposée par JPierreM qui a fait tout le boulot, Grand Merci! Ca fonctionne PRESQUE bien. J'ai suivi tes instructions et l'enregistrement se passe bien et va dans la ligne voulue, c super. Voiçci le code :

    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
     Sub Macro5()
    '
    ' Macro5 Macro
    '
        Range("A2:F2").Select
        Selection.Copy
        Sheets("Base club").Select
        With Worksheets("Base club").Range("A2:A100")
        a = .Find(Worksheets("Formulaire").Cells(7, 2), LookIn:=xlValues).Row
        End With
        Cells(a, 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False        
    End Sub
    Cependant, j'ai un nouveau souci, les recherchev mises en place pour consulter les infos contenues dans la ligne de la base correspondant au n°club saisit dans le formulaire (recherchev(numéroclub;base2;2;faux) ne fonctionnent plus lorsqu'un enrgistrement a été effectué. Alors qu'il n'y a pas de raison apparante.

    Est ce que vous pouvez m'eclairer???

Discussions similaires

  1. Authentification par formulaire et base de donnée
    Par tortuegenie dans le forum ASP.NET
    Réponses: 5
    Dernier message: 11/06/2008, 20h09
  2. Réponses: 1
    Dernier message: 30/08/2007, 19h19
  3. [MySQL] Insertion données formulaire dans base de données
    Par westlaux dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/06/2007, 20h17
  4. Réponses: 2
    Dernier message: 14/05/2007, 09h40
  5. Insertion des données du formulaire dans la base
    Par bebas dans le forum Langage
    Réponses: 9
    Dernier message: 23/02/2007, 12h03

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