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 :

Ajout enregistrement sur classeur EXCEL fermé


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
    Responsable des études
    Inscrit en
    Mai 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Mai 2020
    Messages : 12
    Par défaut Ajout enregistrement sur classeur EXCEL fermé
    Bonjour,
    Je souhaite rajouter des enregistrements d'un classeur ouvert dans un classeur fermé.
    voici mon code que j'ai trouvé mais qui ne fonctionne pas.
    j'utilise VBA excel.
    Merci de votre aide.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Sub enregistrement nouvelle donnee()
     
     
        Dim Cn As ADODB.Connection
        Dim Cd As ADODB.Command
        Dim Rst As ADODB.Recordset
        Dim Fichier As String
        Dim laudit As Integer
     
        Dim NDocA4 As Integer
     
     
        laudit = 2
     
     'collecte des infos résultats audit dans feuille data
     NDocA4 = Feuil6.Cells(33, "a")
     
     
     
         'les données à inserer
     
        Fichier = "G:\toto.xls"
     
        Set Cn = New ADODB.Connection
        Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Fichier & ";" & _
            "Extended Properties=""Excel 8.0;HDR=No;"";"
     
        Set Cd = New ADODB.Command
        Cd.ActiveConnection = Cn
        Feuil13.Activate
     
        'boucle while pour connaitre la ligne libre dans la feuil etat
        Do While Not IsEmpty(Feuil13.Cells(laudit, "a"))
        laudit = laudit + 1
        Loop
        Feuil13.Cells(laudit, "a") = NDocA4
     
        Set Rst = New ADODB.Recordset
        Rst.Open Cd, , adOpenKeyset, adLockOptimistic
        Rst(0).Value = "Donnée test"
        Rst.Update
     
        Cn.Close
        Set Cn = Nothing
        Set Cd = Nothing
        Set Rst = Nothing
     
     
     
    End Sub

  2. #2
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonjour,

    Qu'est ce qui ne fonctionne pas dans le code ?
    Message d'erreur ?

    Pourriez-vous aussi utiliser les balises de rigueur pour "encadrer" votre code.

    Bien souvent, la meilleur façon de "debuguer" un code est l'utilisation du mode pas à pas ( F8) et la console de debug pour les variables.

    Bav,
    MFoxy

  3. #3
    Membre habitué
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mai 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Mai 2020
    Messages : 12
    Par défaut
    Bonjour,
    Merci pour ton retour, effectivement je n'ai pas été assez clair.

    c'est bloqué sur le code : Dim Cn As ADODB.Connection avec un message erreur de compilation

    Merci de votre aide.
    bonne soirée

  4. #4
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Re,

    As tu bien ajouter la référence Microsoft ActiveX Data Objects x.x Library dans ton projet ?

  5. #5
    Membre habitué
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mai 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Mai 2020
    Messages : 12
    Par défaut
    Merci de l'information; maintenant je n'ai plus le message.
    cependant mon code reste bloqué en erreur d'exécution '424' entre feuil13.activate et la boucle do while

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Feuil13.Activate
     
        'boucle while pour connaitre la ligne libre dans la feuil etat
        Do While Not IsEmpty(Feuil13.Cells(laudit, "a"))
        laudit = laudit + 1

    votre avis, merci d'avance

  6. #6
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Re,

    Tu codes mal le nom de ta feuille selon moi.
    Essaie plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Worksheets("Feuil13"). Activate
    Attention Feuil13 doit respecter scrupuleusement le nom et la casse de l'onglet concerné.

    Nb : Les . Activate, . Select, ne sont que très rarement nécessaire dans un code.

Discussions similaires

  1. [ADO VBA] Lire Ecrire dans classeur Excel fermé - Demande de précisions.
    Par botakelymg dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/11/2007, 17h08
  2. Enregistrer un classeur excel en csv
    Par ceaser dans le forum Excel
    Réponses: 1
    Dernier message: 23/05/2007, 15h13
  3. [VBA-E] enregistrer un classeur excel depuis un autre classeur
    Par roseau dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 12/03/2007, 15h15
  4. Réponses: 15
    Dernier message: 21/11/2006, 10h13
  5. [VBA-Excel,VB6,Fichier texte]enregistrer un classeur excel..
    Par Tarul dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2005, 13h09

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