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 :

Excel 2003 -


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut Excel 2003 -
    Bonjour à tous,

    Encore novice en VBA, j'ai un souci lorsque j'essaie de transposer des valeurs depuis un formulaire de saisie vers une base de données. Les valeurs renseignées depuis le formulaire viennent écraser l'enregistrement précédent dans la base de données. Par avance merci à tous.
    Voici le code (c'est un code que j'ai récupéré en l'adaptant un peu) :

    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
    Sub alimentation BDD()
        Dim rngFormulaire As Range
        Dim wksBD As Worksheet
     
        Set rngFormulaire = Worksheets("Formulaire").Range("B1:B8")
        Set wksBD = Worksheets("Base de données")
     
        ' Copier les données du formulaire
        rngFormulaire.Copy
        ' Coller avec transposition dans la base de données
        wksBD.Cells(wksBD.UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteValues, Transpose:=True   
     ' Enlever l'indicateur d'opération copier/coller
        Application.CutCopyMode = False
        ' Effacer les données dans le formulaire
        rngFormulaire.ClearContents
        ' Afficher la base de données
        wksBD.Activate
    End Sub

  2. #2
    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
    à l'aide d'un tableau
    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
    Sub alimentation_BDD()
    Dim tblFormulaire
    Dim NewLig As Long
     
    With Worksheets("Formulaire").Range("B1:B8")
      tblFormulaire = .Value
      .ClearContents
    End With
     
    With Worksheets("Base de données")
      NewLig = .Cells(Rows.Count, "A").End(xlUp).Row + 1
      .Range("A" & NewLig & ":H" & NewLig).Value = Application.Transpose(tblFormulaire)
      .Activate
    End With
    End Sub

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut
    Un grand merci Mercatog
    Les subtilités du VBA m'échappent encore....

    Bonne journée

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/09/2007, 13h55
  2. Excel5 vers excel 2003
    Par MJMJ dans le forum Macros et VBA Excel
    Réponses: 47
    Dernier message: 24/03/2006, 20h57
  3. [VB.NET] problème pour piloter une appli. excel 2003
    Par Pynuch dans le forum Windows Forms
    Réponses: 13
    Dernier message: 16/11/2005, 14h02
  4. TExcelApplication - Excel 2003
    Par Leesox dans le forum Langage
    Réponses: 18
    Dernier message: 03/11/2005, 14h40
  5. [VB.NET] Problème avec un OptionButton dans Excel 2003
    Par alfprod dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/09/2004, 14h40

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